// Function from file: objective.dm public override int check_completion( ) { Mob_Living_Silicon_Ai A = null; int counter = 0; Mob_Living_Silicon_Robot R = null; if (!(this.owner.current is Mob_Living_Silicon_Ai)) { return(0); } A = this.owner.current; counter = 0; foreach (dynamic _a in Lang13.Enumerate(A.connected_robots, typeof(Mob_Living_Silicon_Robot))) { R = _a; if (R.stat != 2) { counter++; } } if (counter < 8) { return(0); } return(1); }
// Function from file: camera.dm public void Togglelight(bool?on = null) { on = on ?? false; Mob_Living_Silicon_Ai A = null; Obj_Machinery_Camera cam = null; foreach (dynamic _b in Lang13.Enumerate(GlobalVars.ai_list, typeof(Mob_Living_Silicon_Ai))) { A = _b; foreach (dynamic _a in Lang13.Enumerate(A.lit_cameras, typeof(Obj_Machinery_Camera))) { cam = _a; if (cam == this) { return; } } } if (on == true) { this.SetLuminosity(5); } else { this.SetLuminosity(0); } return; }
// Function from file: crew.dm public override dynamic Topic(string href = null, ByTable href_list = null, dynamic hsrc = null) { Mob_Living_Silicon_Ai AI = null; double? x = null; double? y = null; Tile tile = null; dynamic C = null; Ent_Static current_loc = null; if (hsrc is HtmlInterfaceClient) { if (Lang13.Bool(hsrc) && Lang13.Bool(hsrc.client) && Lang13.Bool(hsrc.client.mob) && hsrc.client.mob is Mob_Living_Silicon_Ai) { AI = hsrc.client.mob; dynamic _a = href_list["action"]; // Was a switch-case, sorry for the mess. if (_a == "select_person") { AI.__CallVerb("track", href_list["name"]); } else if (_a == "select_position") { x = String13.ParseNumber(href_list["x"]); y = String13.ParseNumber(href_list["y"]); tile = Map13.GetTile(((int)(x ?? 0)), ((int)(y ?? 0)), AI.z); C = Lang13.FindIn(typeof(Obj_Machinery_Camera), Map13.FetchInRange(tile, 5)); if (!Lang13.Bool(C)) { C = Lang13.FindIn(typeof(Obj_Machinery_Camera), GlobalFuncs.ultra_range(10, tile)); } if (!Lang13.Bool(C)) { C = Lang13.FindIn(typeof(Obj_Machinery_Camera), GlobalFuncs.ultra_range(15, tile)); } if (Lang13.Bool(C)) { current_loc = AI.eyeobj.loc; Task13.Schedule(Num13.MinInt(30, ((int)(Map13.GetDistance(GlobalFuncs.get_turf(C), AI.eyeobj) / 4))), (Task13.Closure)(() => { if (AI != null && AI.eyeobj != null && current_loc == AI.eyeobj.loc) { AI.switchCamera(C); } return; })); } } } } return(null); }
// Function from file: ai.dm public Hud_Ai(Mob_Living_Silicon_Ai owner = null) : base(owner) { Obj_Screen_Ai _using = null; // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; _using = new Obj_Screen_Ai_Aicore(); _using.screen_loc = "SOUTH:6,WEST"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CameraList(); _using.screen_loc = "SOUTH:6,WEST+1"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CameraTrack(); _using.screen_loc = "SOUTH:6,WEST+2"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CameraLight(); _using.screen_loc = "SOUTH:6,WEST+3"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CrewMonitor(); _using.screen_loc = "SOUTH:6,WEST+4"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CrewManifest(); _using.screen_loc = "SOUTH:6,WEST+5"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_Alerts(); _using.screen_loc = "SOUTH:6,WEST+6"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_Announcement(); _using.screen_loc = "SOUTH:6,WEST+7"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_CallShuttle(); _using.screen_loc = "SOUTH:6,WEST+8"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_StateLaws(); _using.screen_loc = "SOUTH:6,WEST+9"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_PdaMsgSend(); _using.screen_loc = "SOUTH:6,WEST+10"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_PdaMsgShow(); _using.screen_loc = "SOUTH:6,WEST+11"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_ImageTake(); _using.screen_loc = "SOUTH:6,WEST+12"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_ImageView(); _using.screen_loc = "SOUTH:6,WEST+13"; this.static_inventory.Add(_using); _using = new Obj_Screen_Ai_Sensors(); _using.screen_loc = "SOUTH:6,WEST+14"; this.static_inventory.Add(_using); return; }
// Function from file: hologram.dm public override dynamic Destroy( ) { Mob_Living_Silicon_Ai master = null; foreach (dynamic _a in Lang13.Enumerate(this.masters, typeof(Mob_Living_Silicon_Ai))) { master = _a; this.clear_holo(master); } return(base.Destroy()); }
// Function from file: hologram.dm public bool move_hologram(Mob_Living_Silicon_Ai user = null) { Ent_Static H = null; if (Lang13.Bool(this.masters[user])) { Map13.StepTowards(this.masters[user], user.eyeobj, 0); H = this.masters[user]; H.loc = GlobalFuncs.get_turf(user.eyeobj); this.masters[user] = H; } return(true); }
// Function from file: mulebot.dm public override void call_bot(Mob_Living_Silicon_Ai caller = null, dynamic waypoint = null, int?message = null) { dynamic dest_area = null; base.call_bot(caller, (object)(waypoint), message); if (Lang13.Bool(this.path) && this.path.len != 0) { this.target = this.ai_waypoint; dest_area = GlobalFuncs.get_area(this.target); this.destination = GlobalFuncs.format_text(dest_area.name); this.pathset = true; this.start(); } return; }
// Function from file: hologram.dm public override dynamic Topic(string href = null, ByTable href_list = null, dynamic hsrc = null) { dynamic area = null; Mob_Living_Silicon_Ai AI = null; if (Lang13.Bool(base.Topic(href, href_list, (object)(hsrc)))) { return(null); } if (Lang13.Bool(href_list["AIrequest"])) { if (this.last_request + 200 < Game13.time) { this.last_request = Game13.time; this.temp = "You requested an AI's presence.<BR>"; this.temp += new Txt("<A href='?src=").Ref(this).str(";mainmenu=1'>Main Menu</A>").ToString(); area = GlobalFuncs.get_area(this); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.living_mob_list, typeof(Mob_Living_Silicon_Ai))) { AI = _a; if (!(AI.client != null)) { continue; } AI.WriteMsg(new Txt("<span class='info'>Your presence is requested at <a href='?src=").Ref(AI).str(";jumptoholopad=").Ref(this).str("'>").the(area).item().str("</a>.</span>").ToString()); } } else { this.temp = "A request for AI presence was already sent recently.<BR>"; this.temp += new Txt("<A href='?src=").Ref(this).str(";mainmenu=1'>Main Menu</A>").ToString(); } } else if (Lang13.Bool(href_list["mainmenu"])) { this.temp = ""; } this.updateDialog(); this.add_fingerprint(Task13.User); return(null); }
// Function from file: objective_items.dm public override bool check_special_completion(Obj T = null) { Mob_Living_Silicon_Ai A = null; foreach (dynamic _a in Lang13.Enumerate(T, typeof(Mob_Living_Silicon_Ai))) { A = _a; if (A is Mob_Living_Silicon_Ai && A.stat != 2) { return(true); } } return(false); }
// Function from file: hologram.dm public override string Hear(string message = null, dynamic speaker = null, int message_langs = 0, dynamic raw_message = null, dynamic radio_freq = null, ByTable spans = null) { Mob_Living_Silicon_Ai master = null; if (Lang13.Bool(speaker) && this.masters.len != 0 && !Lang13.Bool(radio_freq)) { foreach (dynamic _a in Lang13.Enumerate(this.masters, typeof(Mob_Living_Silicon_Ai))) { master = _a; if (Lang13.Bool(this.masters[master]) && speaker != master) { master.relay_speech(message, speaker, message_langs, raw_message, radio_freq, spans); } } } return(null); }
// Function from file: ion_storm.dm public override bool start( ) { Mob_Living_Silicon_Ai M = null; dynamic message = null; Mob_Living_SimpleAnimal_Bot bot = null; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.living_mob_list, typeof(Mob_Living_Silicon_Ai))) { M = _a; if (M.stat != 2 && M.see_in_dark != 0) { message = GlobalFuncs.generate_ion_law(this.ionMessage); if (Lang13.Bool(message)) { M.add_ion_law(message); M.WriteMsg("<br>"); M.WriteMsg("<span class='danger'>" + message + " ...LAWS UPDATED</span>"); M.WriteMsg("<br>"); } } } if (Lang13.Bool(this.botEmagChance)) { foreach (dynamic _b in Lang13.Enumerate(GlobalVars.living_mob_list, typeof(Mob_Living_SimpleAnimal_Bot))) { bot = _b; if (Rand13.PercentChance(this.botEmagChance ?? 0)) { bot.emag_act(); } } } return(false); }
// Function from file: hologram.dm public override int?process(dynamic seconds = null) { Mob_Living_Silicon_Ai master = null; dynamic holo_area = null; dynamic eye_area = null; if (this.masters.len != 0) { foreach (dynamic _a in Lang13.Enumerate(this.masters, typeof(Mob_Living_Silicon_Ai))) { master = _a; if (master != null && !(master.stat != 0) && master.client != null && master.eyeobj != null) { if (!((this.stat & 2) != 0)) { if (GlobalVars.HOLOPAD_MODE == 4 && Map13.GetDistance(master.eyeobj, this) <= this.holo_range) { return(1); } else if (GlobalVars.HOLOPAD_MODE == 6) { holo_area = GlobalFuncs.get_area(this); eye_area = GlobalFuncs.get_area(master.eyeobj); if (holo_area.master.related.Contains(eye_area)) { return(1); } } } } this.clear_holo(master); } } return(1); }
// Function from file: communications_blackout.dm public override void announce( ) { string alert = null; Mob_Living_Silicon_Ai A = null; alert = Rand13.Pick(new object [] { "Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you*%fj00)`5vc-BZZT", "Ionospheric anomalies detected. Temporary telecommunication failu*3mga;b4;'1v¬-BZZZT", "Ionospheric anomalies detected. Temporary telec#MCi46:5.;@63-BZZZZT", "Ionospheric anomalies dete'fZ\\kg5_0-BZZZZZT", "Ionospheri:%£ MCayj^j<.3-BZZZZZZT", "#4nd%;f4y6,>£%-BZZZZZZZT" }); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Living_Silicon_Ai))) { A = _a; A.WriteMsg("<br>"); A.WriteMsg("<span class='warning'><b>" + alert + "</b></span>"); A.WriteMsg("<br>"); } if (Rand13.PercentChance(30)) { GlobalFuncs.priority_announce(alert); } return; }
// Function from file: corpse.dm public override void createCorpse(bool death = false, string ckey = null) { dynamic A = null; AiLaws_Default_Asimov L = null; Obj_Item_Device_Mmi B = null; Mob_Living_Silicon_Ai M = null; A = Lang13.FindIn(typeof(Mob_Living_Silicon_Ai), this.loc); if (Lang13.Bool(A)) { return; } L = new AiLaws_Default_Asimov(); B = new Obj_Item_Device_Mmi(); M = new Mob_Living_Silicon_Ai(this.loc, L, B, true); M.name = this.name; M.real_name = this.name; M.aiPDA.toff = true; M.death(); GlobalFuncs.qdel(this); return; }
// Function from file: ticker.dm public bool declare_completion( ) { bool station_evacuated = false; int num_survivors = 0; int num_escapees = 0; dynamic Player = null; StationState end_state = null; int station_integrity = 0; Mob_Living_Silicon_Ai aiPlayer = null; string robolist = null; Mob_Living_Silicon_Robot robo = null; Mob_Living_Silicon_Robot robo2 = null; dynamic handler = null; ByTable total_antagonists = null; Mind Mind = null; string temprole = null; dynamic i = null; string dellog = null; dynamic path = null; if (GlobalVars.SSshuttle.emergency.mode >= 5) { station_evacuated = true; } num_survivors = 0; num_escapees = 0; Game13.WriteMsg("<BR><BR><BR><FONT size=3><B>The round has ended.</B></FONT>"); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.mob_list)) { Player = _a; if (Lang13.Bool(Player.mind) && !(Player is Mob_NewPlayer)) { if (Convert.ToInt32(Player.stat) != 2 && !(Player is Mob_Living_Carbon_Brain)) { num_survivors++; if (station_evacuated) { if (!((Ent_Static)Player).onCentcom() && !((Ent_Static)Player).onSyndieBase()) { Player.WriteMsg("<font color='blue'><b>You managed to survive, but were marooned on " + GlobalFuncs.station_name() + "...</b></FONT>"); } else { num_escapees++; Player.WriteMsg("<font color='green'><b>You managed to survive the events on " + GlobalFuncs.station_name() + " as " + Player.real_name + ".</b></FONT>"); } } else { Player.WriteMsg("<font color='green'><b>You managed to survive the events on " + GlobalFuncs.station_name() + " as " + Player.real_name + ".</b></FONT>"); } } else { Player.WriteMsg("<font color='red'><b>You did not survive the events on " + GlobalFuncs.station_name() + "...</b></FONT>"); } } } end_state = new StationState(); end_state.count(); station_integrity = Num13.MinInt(((int)(Num13.Round(GlobalVars.start_state.score(end_state) * 100, 0.1))), 100); Game13.WriteMsg("<BR>" + GlobalVars.TAB + "Shift Duration: <B>" + Num13.Floor(Game13.time / 36000) + ":" + GlobalFuncs.add_zero("" + Game13.time / 600 % 60, 2) + ":" + Game13.time / 100 % 6 + Game13.time / 100 % 10 + "</B>"); Game13.WriteMsg("<BR>" + GlobalVars.TAB + "Station Integrity: <B>" + (this.mode.station_was_nuked ? "<font color='red'>Destroyed</font>" : "" + station_integrity + "%") + "</B>"); if (GlobalVars.joined_player_list.len != 0) { Game13.WriteMsg("<BR>" + GlobalVars.TAB + "Total Population: <B>" + GlobalVars.joined_player_list.len + "</B>"); if (station_evacuated) { Game13.WriteMsg("<BR>" + GlobalVars.TAB + "Evacuation Rate: <B>" + num_escapees + " (" + Num13.Round(num_escapees / GlobalVars.joined_player_list.len * 100, 0.1) + "%)</B>"); } Game13.WriteMsg("<BR>" + GlobalVars.TAB + "Survival Rate: <B>" + num_survivors + " (" + Num13.Round(num_survivors / GlobalVars.joined_player_list.len * 100, 0.1) + "%)</B>"); } Game13.WriteMsg("<BR>"); foreach (dynamic _c in Lang13.Enumerate(GlobalVars.mob_list, typeof(Mob_Living_Silicon_Ai))) { aiPlayer = _c; if (aiPlayer.stat != 2 && aiPlayer.mind != null) { Game13.WriteMsg("<b>" + aiPlayer.name + " (Played by: " + aiPlayer.mind.key + ")'s laws at the end of the round were:</b>"); aiPlayer.show_laws(true); } else if (aiPlayer.mind != null) { Game13.WriteMsg("<b>" + aiPlayer.name + " (Played by: " + aiPlayer.mind.key + ")'s laws when it was deactivated were:</b>"); aiPlayer.show_laws(true); } Game13.WriteMsg("<b>Total law changes: " + aiPlayer.law_change_counter + "</b>"); if (aiPlayer.connected_robots.len != 0) { robolist = "<b>" + aiPlayer.real_name + "'s minions were:</b> "; foreach (dynamic _b in Lang13.Enumerate(aiPlayer.connected_robots, typeof(Mob_Living_Silicon_Robot))) { robo = _b; if (robo.mind != null) { robolist += "" + robo.name + (robo.stat != 0 ? " (Deactivated) (Played by: " + robo.mind.key + "), " : " (Played by: " + robo.mind.key + "), "); } } Game13.WriteMsg("" + robolist); } } foreach (dynamic _d in Lang13.Enumerate(GlobalVars.mob_list, typeof(Mob_Living_Silicon_Robot))) { robo2 = _d; if (!Lang13.Bool(robo2.connected_ai) && robo2.mind != null) { if (robo2.stat != 2) { Game13.WriteMsg("<b>" + robo2.name + " (Played by: " + robo2.mind.key + ") survived as an AI-less borg! Its laws were:</b>"); } else { Game13.WriteMsg("<b>" + robo2.name + " (Played by: " + robo2.mind.key + ") was unable to survive the rigors of being a cyborg without an AI. Its laws were:</b>"); } if (robo2 != null) { robo2.laws.show_laws(typeof(Game13)); } } } this.mode.declare_completion(); foreach (dynamic _e in Lang13.Enumerate(Lang13.GetTypes("/datum/game_mode/proc"))) { handler = _e; if (String13.FindIgnoreCase("" + handler, "auto_declare_completion_", 1, 0) != 0) { Lang13.Call(Lang13.BindFunc(this.mode, handler), this.force_ending); } } total_antagonists = new ByTable(); foreach (dynamic _f in Lang13.Enumerate(this.minds, typeof(Mind))) { Mind = _f; temprole = Mind.special_role; if (Lang13.Bool(temprole)) { if (total_antagonists.Contains(temprole)) { total_antagonists[temprole] += ", " + Mind.name + "(" + Mind.key + ")"; } else { total_antagonists.Add(temprole); total_antagonists[temprole] += ": " + Mind.name + "(" + Mind.key + ")"; } } } GlobalFuncs.log_game("Antagonists at round end were..."); foreach (dynamic _g in Lang13.Enumerate(total_antagonists)) { i = _g; GlobalFuncs.log_game("" + i + "s" + total_antagonists[i] + "."); } if (GlobalVars.SSgarbage.didntgc.len != 0) { dellog = ""; foreach (dynamic _h in Lang13.Enumerate(GlobalVars.SSgarbage.didntgc)) { path = _h; dellog += "Path : " + path + " \n"; dellog += "Failures : " + GlobalVars.SSgarbage.didntgc[path] + " \n"; } Game13.log.WriteMsg(dellog); } return(true); }
// Function from file: ai.dm public override void AIAltClick(Mob_Living_Silicon_Ai user = null) { this.toggle_lethal(); this.add_fingerprint(Task13.User); return; }
// Function from file: multitool.dm public override int?process(dynamic seconds = null) { bool found_eye = false; dynamic our_turf = null; Mob_Living_Silicon_Ai AI = null; Camerachunk chunk = null; Mob_Camera_AiEye A = null; dynamic eye_turf = null; if (this.track_delay > Game13.time) { return(null); } found_eye = false; our_turf = GlobalFuncs.get_turf(this); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.ai_list, typeof(Mob_Living_Silicon_Ai))) { AI = _a; if (AI.cameraFollow == this) { found_eye = true; break; } } if (!found_eye && Lang13.Bool(GlobalVars.cameranet.chunkGenerated(Lang13.IntNullable(our_turf.x), Lang13.IntNullable(our_turf.y), Convert.ToInt32(our_turf.z)))) { chunk = GlobalVars.cameranet.getCameraChunk(Lang13.IntNullable(our_turf.x), Lang13.IntNullable(our_turf.y), Convert.ToInt32(our_turf.z)); if (chunk != null) { if (chunk.seenby.len != 0) { foreach (dynamic _b in Lang13.Enumerate(chunk.seenby, typeof(Mob_Camera_AiEye))) { A = _b; eye_turf = GlobalFuncs.get_turf(A); if (Map13.GetDistance(our_turf, eye_turf) < 8) { found_eye = true; break; } } } } } if (found_eye) { this.icon_state = "" + Lang13.Initial(this, "icon_state") + "_red"; } else { this.icon_state = Lang13.Initial(this, "icon_state"); } this.track_delay = Game13.time + 10; return(null); }
// Function from file: ninjaDrainAct.dm public override dynamic ninjadrain_act(Obj_Item_Clothing_Suit_Space_SpaceNinja S = null, Ent_Static H = null, Obj_Item_Clothing_Gloves_SpaceNinja G = null) { dynamic _default = null; dynamic location = null; Mob_Living_Silicon_Ai AI = null; Tech current_data = null; Tech analyzing_data = null; if (!(S != null) || !(H != null) || !(G != null)) { return("INVALID"); } _default = "RDHACKFAIL"; ((dynamic)H).WriteMsg(new Txt("<span class='notice'>Hacking ").the(this).item().str("...</span>").ToString()); Task13.Schedule(0, (Task13.Closure)(() => { location = GlobalFuncs.get_turf(H); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Living_Silicon_Ai))) { AI = _a; AI.WriteMsg("<span class='userdanger'>Network Alert: Hacking attempt detected" + (Lang13.Bool(location) ? " in " + location : ". Unable to pinpoint location") + "</span>."); } return; })); if (this.files != null && this.files.known_tech.len != 0) { foreach (dynamic _c in Lang13.Enumerate(S.stored_research, typeof(Tech))) { current_data = _c; ((dynamic)H).WriteMsg(new Txt("<span class='notice'>Checking ").the(current_data.name).item().str(" database.</span>").ToString()); if (GlobalFuncs.do_after(H, S.s_delay, null, this) && G.candrain && this != null) { foreach (dynamic _b in Lang13.Enumerate(this.files.known_tech, typeof(Tech))) { analyzing_data = _b; if (current_data.id == analyzing_data.id) { if (analyzing_data.level > current_data.level) { ((dynamic)H).WriteMsg("<span class='notice'>Database:</span> <b>UPDATED</b>."); current_data.level = analyzing_data.level; _default = "RDHACK"; } break; } } } else { break; } } } ((dynamic)H).WriteMsg("<span class='notice'>Data analyzed. Process finished.</span>"); return(_default); }
// 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; }
// Function from file: eye.dm public override dynamic Destroy( ) { this.ai = null; return(base.Destroy()); }
// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static bool play_vox_word( dynamic word = null, dynamic z_level = null, Mob_Living_Silicon_Ai only_listener = null ) { dynamic sound_file = null; Sound voice = null; dynamic M = null; dynamic T = null; word = String13.toLower( word ); if ( Lang13.Bool( GlobalVars.vox_sounds[word] ) ) { sound_file = GlobalVars.vox_sounds[word]; voice = new Sound( sound_file, null, true, GlobalVars.VOX_CHANNEL ); voice.status = GlobalVars.SOUND_STREAM; if ( !( only_listener != null ) ) { M = null; foreach (dynamic _a in GlobalVars.player_list ) { M = _a; if ( Lang13.Bool( M.client ) && !Lang13.Bool( M.ear_deaf ) ) { T = GlobalFuncs.get_turf( M ); if ( T.z == z_level ) { M.write( voice ); } } }; } else { ((dynamic)only_listener).write( voice ); } return true; } return false; }