示例#1
0
        // Function from file: honker.dm
        public override string get_equipment_list(  )
        {
            string output = null;
            Obj_Item_MechaParts_MechaEquipment MT = null;


            if (!(this.equipment.len != 0))
            {
                return(null);
            }
            output = "<b>Honk-ON-Systems:</b><div style=\"margin-left: 15px;\">";

            foreach (dynamic _a in Lang13.Enumerate(this.equipment, typeof(Obj_Item_MechaParts_MechaEquipment)))
            {
                MT = _a;

                output += new Txt("<div id='").Ref(MT).str("'>").item(MT.get_equip_info()).str("</div>").ToString();
            }
            output += "</div>";
            return(output);
        }
示例#2
0
        // Function from file: Hallucination.dm
        public override dynamic Crossed(Ent_Dynamic O = null, dynamic X = null)
        {
            dynamic O2 = null;


            if (O == this.my_target)
            {
                Map13.StepAway(this, this.my_target, 2);

                if (Rand13.PercentChance(30))
                {
                    foreach (dynamic _a in Lang13.Enumerate(Map13.FetchViewersExcludeThis(this.my_target, Game13.view)))
                    {
                        O2 = _a;

                        O2.WriteMsg("<span class='danger'>" + this.my_target + " stumbles around.</span>");
                    }
                }
            }
            return(null);
        }
示例#3
0
        // Function from file: space.dm
        public void update_starlight(  )
        {
            Tile_Simulated T = null;


            if (GlobalVars.config != null)
            {
                if (GlobalVars.config.starlight)
                {
                    foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInBlock(Map13.GetTile(Num13.MaxInt(this.x - 1, 1), Num13.MaxInt(this.y - 1, 1), this.z), Map13.GetTile(Num13.MinInt(this.x + 1, Game13.map_size_x), Num13.MinInt(this.y + 1, Game13.map_size_y), this.z)), typeof(Tile_Simulated)))
                    {
                        T = _a;

                        this.SetLuminosity(4, 1);
                        return;
                    }
                    this.SetLuminosity(0);
                }
            }
            return;
        }
示例#4
0
        // Function from file: monkey.dm
        public override bool post_setup(bool?report = null)
        {
            Mind carriermind = null;
            Disease_Transformation_JungleFever D = null;


            foreach (dynamic _a in Lang13.Enumerate(this.carriers, typeof(Mind)))
            {
                carriermind = _a;

                this.greet_carrier(carriermind);
                this.ape_infectees.Add(carriermind);
                D = new Disease_Transformation_JungleFever();
                D.visibility_flags           = 3;
                D.holder                     = carriermind.current;
                D.affected_mob               = carriermind.current;
                carriermind.current.viruses += D;
            }
            base.post_setup(report);
            return(false);
        }
示例#5
0
        // Function from file: motion.dm
        public bool cancelAlarm(  )
        {
            Mob_Living_Silicon aiPlayer = null;


            if (this.detectTime == -1)
            {
                foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Living_Silicon)))
                {
                    aiPlayer = _a;


                    if (this.status)
                    {
                        aiPlayer.cancelAlarm("Motion", GlobalFuncs.get_area(this), this);
                    }
                }
            }
            this.detectTime = 0;
            return(true);
        }
示例#6
0
        // Function from file: cards.dm
        public override double examine(dynamic user = null)
        {
            double _default = 0;

            Playingcard card = null;

            _default = base.examine((object)(user));

            if ((!this.concealed || this.loc == Task13.User) && this.cards.len != 0)
            {
                Task13.User.show_message("It contains: ", 1);

                foreach (dynamic _a in Lang13.Enumerate(this.cards, typeof(Playingcard)))
                {
                    card = _a;

                    Task13.User.show_message("The " + card.name + ".", 1);
                }
            }
            return(_default);
        }
示例#7
0
        // Function from file: flash.dm
        public override bool activate(  )
        {
            dynamic           T = null;
            Mob_Living_Carbon M = null;


            if (!this.try_use_flash())
            {
                return(false);
            }
            T = GlobalFuncs.get_turf(this);
            ((Ent_Static)T).visible_message("<span class='disarm'>" + this + " emits a blinding light!</span>");

            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchViewers(T, 3), typeof(Mob_Living_Carbon)))
            {
                M = _a;

                this.flash_carbon(M, null, 5, false);
            }
            return(false);
        }
示例#8
0
        // Function from file: Sleeper.dm
        public override bool blob_act(dynamic severity = null)
        {
            dynamic     T = null;
            Ent_Dynamic A = null;


            if (Rand13.PercentChance(75))
            {
                T = GlobalFuncs.get_turf(this);

                foreach (dynamic _a in Lang13.Enumerate(this, typeof(Ent_Dynamic)))
                {
                    A = _a;

                    A.forceMove(T);
                    A.blob_act();
                }
                GlobalFuncs.qdel(this);
            }
            return(false);
        }
        // Function from file: artefact.dm
        public void equip_roman_skeleton(dynamic H = null)
        {
            Obj_Item I   = null;
            dynamic  hat = null;


            foreach (dynamic _a in Lang13.Enumerate(H, typeof(Obj_Item)))
            {
                I = _a;

                ((Mob)H).unEquip(I);
            }
            hat = Rand13.Pick(new object [] { typeof(Obj_Item_Clothing_Head_Helmet_Roman), typeof(Obj_Item_Clothing_Head_Helmet_Roman_Legionaire) });
            ((Mob)H).equip_to_slot_or_del(Lang13.Call(hat, H), 11);
            ((Mob)H).equip_to_slot_or_del(new Obj_Item_Clothing_Under_Roman(H), 14);
            ((Mob)H).equip_to_slot_or_del(new Obj_Item_Clothing_Shoes_Roman(H), 12);
            ((Mob)H).equip_to_slot_or_del(new Obj_Item_Weapon_Shield_Riot_Roman(H), 4);
            ((Mob)H).equip_to_slot_or_del(new Obj_Item_Weapon_Claymore(H), 5);
            ((Mob)H).equip_to_slot_or_del(new Obj_Item_Weapon_Twohanded_Spear(H), 1);
            return;
        }
示例#10
0
文件: Zone.cs 项目: Somnium13/SS13
        // Function from file: areas.dm
        public void power_change(  )
        {
            dynamic       RA = null;
            Obj_Machinery M  = null;


            foreach (dynamic _b in Lang13.Enumerate(this.related))
            {
                RA = _b;


                foreach (dynamic _a in Lang13.Enumerate(RA, typeof(Obj_Machinery)))
                {
                    M = _a;

                    M.power_change();
                }
                RA.updateicon();
            }
            return;
        }
        // Function from file: robot_modules.dm
        public void rebuild(  )
        {
            ByTable temp_list = null;
            Obj     O         = null;

            temp_list    = this.modules;
            this.modules = new ByTable();

            foreach (dynamic _a in Lang13.Enumerate(temp_list, typeof(Obj)))
            {
                O = _a;


                if (O != null)
                {
                    this.modules.Add(O);
                }
            }
            this.fix_modules();
            return;
        }
        // Function from file: station.dm
        public override bool Bumped(dynamic AM = null)
        {
            Obj_Structure_TransitTubePod pod = null;


            if (!this.pod_moving && this.icon_state == "open" && AM is Mob)
            {
                foreach (dynamic _a in Lang13.Enumerate(this.loc, typeof(Obj_Structure_TransitTubePod)))
                {
                    pod = _a;


                    if (this.directions().Contains(!pod.moving && pod.dir != 0))
                    {
                        AM.loc = pod;
                        return(false);
                    }
                }
            }
            return(false);
        }
示例#13
0
        // Function from file: processor.dm
        public override void RefreshParts(  )
        {
            Obj_Item_Weapon_StockParts_MatterBin   B = null;
            Obj_Item_Weapon_StockParts_Manipulator M = null;


            foreach (dynamic _a in Lang13.Enumerate(this.component_parts, typeof(Obj_Item_Weapon_StockParts_MatterBin)))
            {
                B = _a;

                this.rating_amount = B.rating;
            }

            foreach (dynamic _b in Lang13.Enumerate(this.component_parts, typeof(Obj_Item_Weapon_StockParts_Manipulator)))
            {
                M = _b;

                this.rating_speed = M.rating;
            }
            return;
        }
示例#14
0
        // Function from file: processor.dm
        public void empty(  )
        {
            Obj     O = null;
            dynamic M = null;


            foreach (dynamic _a in Lang13.Enumerate(this, typeof(Obj)))
            {
                O = _a;

                O.loc = this.loc;
            }

            foreach (dynamic _b in Lang13.Enumerate(this))
            {
                M = _b;

                M.loc = this.loc;
            }
            return;
        }
示例#15
0
        // Function from file: computer.dm
        public void nerf(double?active = null)
        {
            Obj_Item I = null;
            Obj_Effect_HolodeckEffect HE = null;


            foreach (dynamic _a in Lang13.Enumerate(this.spawned, typeof(Obj_Item)))
            {
                I = _a;

                I.damtype = (Lang13.Bool(active) ? ((dynamic)("stamina")) : Lang13.Initial(I, "damtype"));
            }

            foreach (dynamic _b in Lang13.Enumerate(this.effects, typeof(Obj_Effect_HolodeckEffect)))
            {
                HE = _b;

                HE.safety(active);
            }
            return;
        }
示例#16
0
        // Function from file: narsie.dm
        public override void mezzer(  )
        {
            Mob_Living_Carbon M = null;


            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchViewersExcludeThis(this, 8), typeof(Mob_Living_Carbon)))
            {
                M = _a;


                if (M.stat == 0)
                {
                    if (!GlobalFuncs.iscultist(M))
                    {
                        M.WriteMsg("<span class='cultsmall'>You feel conscious thought crumble away in an instant as you gaze upon " + this.name + "...</span>");
                        M.apply_effect(3, "stun");
                    }
                }
            }
            return;
        }
        // Function from file: janisigns.dm
        public override dynamic attack_self(dynamic user = null, dynamic flag = null, bool?emp = null)
        {
            ByTable L    = null;
            dynamic sign = null;


            if (this.signs.len != 0)
            {
                L = this.signs.Copy();

                foreach (dynamic _a in Lang13.Enumerate(L))
                {
                    sign = _a;

                    GlobalFuncs.qdel(sign);
                    this.signs.Remove(sign);
                }
                user.WriteMsg("<span class='notice'>You clear all active holograms.</span>");
            }
            return(null);
        }
示例#18
0
        // Function from file: events.dm
        public void toggleWizardmode(  )
        {
            RoundEventControl E = null;

            this.wizardmode = !this.wizardmode;

            foreach (dynamic _a in Lang13.Enumerate(GlobalVars.SSevent.control, typeof(RoundEventControl)))
            {
                E = _a;

                E.weight = Lang13.Initial(E, "weight");

                if (E.wizardevent && !this.wizardmode || !E.wizardevent && this.wizardmode)
                {
                    E.weight = 0;
                }
            }
            GlobalFuncs.message_admins("Summon Events has been " + (this.wizardmode ? "enabled, events will occur every " + GlobalVars.SSevent.frequency_lower / 600 + " to " + GlobalVars.SSevent.frequency_upper / 600 + " minutes" : "disabled") + "!");
            GlobalFuncs.log_game("Summon Events was " + (this.wizardmode ? "enabled" : "disabled") + "!");
            return;
        }
        // Function from file: barsigns.dm
        public Obj_Structure_Sign_Barsign(dynamic loc = null) : base((object)(loc))
        {
            dynamic bartype  = null;
            dynamic signinfo = null;

            // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!;

            foreach (dynamic _a in Lang13.Enumerate(Lang13.GetTypes(typeof(Barsign)) - typeof(Barsign)))
            {
                bartype = _a;

                signinfo = Lang13.Call(bartype);

                if (!Lang13.Bool(signinfo.hidden))
                {
                    this.barsigns.Add(signinfo);
                }
            }
            this.set_sign(Rand13.PickFromTable(this.barsigns));
            return;
        }
示例#20
0
        // Function from file: reusable.dm
        public override void on_range(  )
        {
            Obj content = null;


            if (this.contents.len != 0)
            {
                foreach (dynamic _a in Lang13.Enumerate(this.contents, typeof(Obj)))
                {
                    content = _a;

                    content.loc = this.loc;
                }
            }
            else
            {
                Lang13.Call(this.ammo_type, this.loc);
            }
            base.on_range();
            return;
        }
示例#21
0
        // Function from file: space_transition.dm
        public SpaceLevel(dynamic transition_type = null)
        {
            ByTable L = null;
            dynamic A = null;

            this.linked = Convert.ToInt32(transition_type);

            if (this.linked == 1)
            {
                this.neigbours = new ByTable();
                L = new ByTable(new object [] { "1", "2", "4", "8" });

                foreach (dynamic _a in Lang13.Enumerate(L))
                {
                    A = _a;

                    this.neigbours[A] = this;
                }
            }
            return;
        }
示例#22
0
        // Function from file: packs.dm
        public virtual dynamic generate(dynamic T = null)
        {
            dynamic C    = null;
            dynamic item = null;

            C      = Lang13.Call(this.crate_type, T);
            C.name = this.crate_name;

            if (this.access != 0)
            {
                C.req_access = new ByTable(new object [] { this.access });
            }

            foreach (dynamic _a in Lang13.Enumerate(this.contains))
            {
                item = _a;

                Lang13.Call(item, C);
            }
            return(C);
        }
        // Function from file: shotgun.dm
        public virtual bool blow_up(dynamic user = null)
        {
            bool _default = false;

            Obj_Item_AmmoCasing AC = null;

            _default = false;

            foreach (dynamic _a in Lang13.Enumerate(this.magazine.stored_ammo, typeof(Obj_Item_AmmoCasing)))
            {
                AC = _a;


                if (Lang13.Bool(AC.BB))
                {
                    this.process_fire(user, user, false);
                    _default = true;
                }
            }
            return(_default);
        }
        // Function from file: toys.dm
        public override dynamic interact(dynamic user = null, bool?flag1 = null)
        {
            string  dat   = null;
            dynamic t     = null;
            Browser popup = null;

            dat = "You have:<BR>";

            foreach (dynamic _a in Lang13.Enumerate(this.currenthand))
            {
                t = _a;

                dat += new Txt("<A href='?src=").Ref(this).str(";pick=").item(t).str("'>A ").item(t).str(".</A><BR>").ToString();
            }
            dat  += "Which card will you remove next?";
            popup = new Browser(user, "cardhand", "Hand of Cards", 400, 240);
            popup.set_title_image(((Mob)user).browse_rsc_icon(this.icon, this.icon_state));
            popup.set_content(dat);
            popup.open();
            return(null);
        }
        // Function from file: dna_injector.dm
        public void prepare(  )
        {
            dynamic mut_key  = null;
            dynamic mut_key2 = null;


            foreach (dynamic _a in Lang13.Enumerate(this.add_mutations_static))
            {
                mut_key = _a;

                this.add_mutations.Add(GlobalVars.mutations_list[mut_key]);
            }

            foreach (dynamic _b in Lang13.Enumerate(this.remove_mutations_static))
            {
                mut_key2 = _b;

                this.remove_mutations.Add(GlobalVars.mutations_list[mut_key2]);
            }
            return;
        }
示例#26
0
        // Function from file: AI_modules.dm
        public override dynamic transmitInstructions(Game_Data law_datum = null, dynamic sender = null)
        {
            dynamic templaw = null;


            foreach (dynamic _a in Lang13.Enumerate(this.laws))
            {
                templaw = _a;


                if (Lang13.Bool(((dynamic)law_datum).owner))
                {
                    ((Mob_Living_Silicon)((dynamic)law_datum).owner).add_ion_law(templaw);
                }
                else
                {
                    ((AiLaws)law_datum).add_ion_law(templaw);
                }
            }
            return(null);
        }
示例#27
0
        // Function from file: mulebot.dm
        public void get_nav(  )
        {
            Obj_Machinery_Navbeacon NB = null;
            dynamic direction          = null;


            if (!Lang13.Bool(this.on) || ((Wires)this.wires).is_cut("beacon"))
            {
                return;
            }

            foreach (dynamic _a in Lang13.Enumerate(GlobalVars.deliverybeacons, typeof(Obj_Machinery_Navbeacon)))
            {
                NB = _a;


                if (NB.location == this.new_destination)
                {
                    this.destination = this.new_destination;
                    this.target      = NB.loc;
                    direction        = NB.dir;

                    if (Lang13.Bool(direction))
                    {
                        this.loaddir = String13.ParseNumber(direction);
                    }
                    else
                    {
                        this.loaddir = 0;
                    }
                    this.update_icon();

                    if (Lang13.Bool(this.destination))
                    {
                        this.calc_path();
                    }
                }
            }
            return;
        }
示例#28
0
        // Function from file: singularity.dm
        public virtual void mezzer(  )
        {
            Mob_Living_Carbon         M  = null;
            Mob_Living_Carbon         H  = null;
            Obj_Item_Clothing_Glasses MS = null;


            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchViewersExcludeThis(this, 8), typeof(Mob_Living_Carbon)))
            {
                M = _a;


                if (M is Mob_Living_Carbon_Brain)
                {
                    continue;
                }

                if (M.stat == 0)
                {
                    if (M is Mob_Living_Carbon_Human)
                    {
                        H = M;

                        if (((dynamic)H).glasses is Obj_Item_Clothing_Glasses_Meson)
                        {
                            MS = ((dynamic)H).glasses;

                            if (MS.vision_flags == GlobalVars.SEE_TURFS)
                            {
                                H.WriteMsg("<span class='notice'>You look directly into the " + this.name + ", good thing you had your protective eyewear on!</span>");
                                return;
                            }
                        }
                    }
                }
                M.apply_effect(3, "stun");
                M.visible_message("<span class='danger'>" + M + " stares blankly at the " + this.name + "!</span>", "<span class='userdanger'>You look directly into the " + this.name + " and feel weak.</span>");
            }
            return;
        }
示例#29
0
        // Function from file: anomalies.dm
        public override void anomalyEffect(  )
        {
            Obj     O      = null;
            dynamic target = null;

            base.anomalyEffect();

            if (!(this.loc is Tile))
            {
                GlobalFuncs.qdel(this);
                return;
            }
            this.grav(Rand13.Int(0, 3), Rand13.Int(2, 3), 50, 25);

            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInRange(this, 2), typeof(Obj)))
            {
                O = _a;


                if (O == this)
                {
                    return;
                }

                if (!Lang13.Bool(O.anchored))
                {
                    target = Lang13.FindIn(typeof(Mob_Living), Map13.FetchInView(this, 4));

                    if (Lang13.Bool(target) && !Lang13.Bool(target.stat))
                    {
                        O.throw_at(target, 7, 5);
                    }
                }
                else
                {
                    O.ex_act(2);
                }
            }
            return;
        }
        // Function from file: station_alert.dm
        public bool cancelAlarm(string _class = null, Zone A = null, Ent_Static origin = null)
        {
            dynamic L       = null;
            bool    cleared = false;
            dynamic I       = null;
            dynamic alarm   = null;
            ByTable srcs    = null;


            if ((this.stat & 1) != 0)
            {
                return(false);
            }
            L       = this.alarms[_class];
            cleared = false;

            foreach (dynamic _a in Lang13.Enumerate(L))
            {
                I = _a;


                if (I == A.name)
                {
                    alarm = L[I];
                    srcs  = alarm[3];

                    if (srcs.Contains(origin))
                    {
                        srcs.Remove(origin);
                    }

                    if (srcs.len == 0)
                    {
                        cleared = true;
                        L      -= I;
                    }
                }
            }
            return(!cleared);
        }