示例#1
0
        // Function from file: nuclear.dm
        public override void post_equip(Mob H = null, int?visualsOnly = null)
        {
            Obj_Item_Device_Radio R = null;
            Obj_Item_Device_Radio_Uplink_Nuclear U = null;
            Obj_Item_Weapon_Implant_WeaponsAuth  W = null;
            Obj_Item_Weapon_Implant_Explosive    E = null;

            R = ((dynamic)H).ears;
            R.set_frequency(GlobalVars.SYND_FREQ);
            R.freqlock = true;

            if (this.tc != 0)
            {
                U = new Obj_Item_Device_Radio_Uplink_Nuclear(H);
                U.hidden_uplink.owner        = "" + H.key;
                U.hidden_uplink.telecrystals = this.tc;
                H.equip_to_slot_or_del(U, 18);
            }
            W = new Obj_Item_Weapon_Implant_WeaponsAuth(H);
            W.implant(H);
            E = new Obj_Item_Weapon_Implant_Explosive(H);
            E.implant(H);
            H.faction |= "syndicate";
            H.update_icons();
            return;
        }
示例#2
0
        // Function from file: nuclear_challenge.dm
        public override dynamic attack_self(dynamic user = null, dynamic flag = null, bool?emp = null)
        {
            string are_you_sure    = null;
            string war_declaration = null;
            Obj_Machinery_Computer_Shuttle_Syndicate S = null;
            Obj_Item_Device_Radio_Uplink_Nuclear     U = null;


            if (this.declaring_war)
            {
                return(null);
            }

            if (GlobalVars.player_list.len < 50)
            {
                user.WriteMsg("The enemy crew is too small to be worth declaring war on.");
                return(null);
            }

            if (Convert.ToInt32(user.z) != 2)
            {
                user.WriteMsg("You have to be at your base to use this.");
                return(null);
            }

            if (Game13.time > 3000)
            {
                user.WriteMsg("It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make  do with what you have on hand.");
                return(null);
            }
            this.declaring_war = true;
            are_you_sure       = Interface13.Alert(user, "Consult your team carefully before you declare war on " + GlobalFuncs.station_name() + "]. Are you sure you want to alert the enemy crew?", "Declare war?", "Yes", "No");

            if (are_you_sure == "No")
            {
                user.WriteMsg("On second thought, the element of surprise isn't so bad after all.");
                this.declaring_war = false;
                return(null);
            }
            war_declaration = "" + user.real_name + " has declared his intent to utterly destroy " + GlobalFuncs.station_name() + " with a nuclear device, and dares the crew to try and stop them.";
            GlobalFuncs.priority_announce(war_declaration, "Declaration of War", "sound/machines/Alarm.ogg");
            user.WriteMsg("You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.");

            foreach (dynamic _a in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_Computer_Shuttle_Syndicate)))
            {
                S = _a;

                S.challenge = GlobalVars.TRUE;
            }
            U = new Obj_Item_Device_Radio_Uplink_Nuclear(GlobalFuncs.get_turf(user));
            U.hidden_uplink.owner                  = "" + user.key;
            U.hidden_uplink.telecrystals           = 280;
            U.hidden_uplink.gamemode               = typeof(GameMode_Nuclear);
            GlobalVars.config.shuttle_refuel_delay = Num13.MaxInt(((int)(GlobalVars.config.shuttle_refuel_delay ?? 0)), 15000);
            GlobalFuncs.qdel(this);
            return(null);
        }