Esempio n. 1
0
        // Function from file: xenobio_camera.dm
        public override void Activate(int?forced_state = null)
        {
            dynamic C          = null;
            Obj     remote_eye = null;
            dynamic X          = null;
            Mob_Living_SimpleAnimal_Slime S = null;


            if (!Lang13.Bool(this.target) || !(this.owner is Mob_Living_Carbon_Human))
            {
                return;
            }
            C          = this.owner;
            remote_eye = C.remote_control;
            X          = this.target;

            if (GlobalVars.cameranet.checkTurfVis(remote_eye.loc))
            {
                foreach (dynamic _a in Lang13.Enumerate(X.stored_slimes, typeof(Mob_Living_SimpleAnimal_Slime)))
                {
                    S = _a;

                    S.loc = remote_eye.loc;
                    S.visible_message("" + S + " warps in!");
                    X.stored_slimes.Remove(S);
                }
            }
            return;
        }
Esempio n. 2
0
        // Function from file: slime_extracts.dm
        public override void on_reaction(Reagents holder = null, double?created_volume = null)
        {
            Mob_Living_SimpleAnimal_Slime S = null;

            GlobalFuncs.feedback_add_details("slime_cores_used", "" + this.type);
            S     = new Mob_Living_SimpleAnimal_Slime();
            S.loc = GlobalFuncs.get_turf(holder.my_atom);
            S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>");
            return;
        }
Esempio n. 3
0
        // Function from file: slime_extracts.dm
        public override void on_reaction(Reagents holder = null, double?created_volume = null)
        {
            Mob_Living_SimpleAnimal_Slime S = null;

            GlobalFuncs.feedback_add_details("slime_cores_used", "" + this.type);
            S        = new Mob_Living_SimpleAnimal_Slime();
            S.colour = Rand13.Pick(new object [] { "grey", "orange", "metal", "blue", "purple", "dark purple", "dark blue", "green", "silver", "yellow", "gold", "yellow", "red", "silver", "pink", "cerulean", "sepia", "bluespace", "pyrite", "light pink", "oil", "adamantine", "black" });
            S.loc    = GlobalFuncs.get_turf(holder.my_atom);
            S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>");
            return;
        }
Esempio n. 4
0
        // Function from file: mirror.dm
        public override bool attack_slime(Mob_Living_SimpleAnimal_Slime user = null)
        {
            user.changeNext_move(8);
            user.do_attack_animation(this);

            if (this.shattered)
            {
                GlobalFuncs.playsound(this.loc, "sound/effects/hit_on_shattered_glass.ogg", 70, 1);
                return(false);
            }
            user.visible_message("<span class='danger'>" + user + " smashes " + this + "!</span>");
            this.shatter();
            return(false);
        }
        // Function from file: slime_extracts.dm
        public override void on_reaction(Reagents holder = null, double?created_volume = null)
        {
            Mob_Living_SimpleAnimal_Slime slime = null;

            GlobalFuncs.feedback_add_details("slime_cores_used", "" + this.type);

            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchViewers(null, GlobalFuncs.get_turf(holder.my_atom)), typeof(Mob_Living_SimpleAnimal_Slime)))
            {
                slime = _a;

                slime.rabid = true;
                slime.visible_message("<span class='danger'>The " + slime + " is driven into a frenzy!</span>");
            }
            return;
        }
Esempio n. 6
0
        // Function from file: grille.dm
        public override bool attack_slime(Mob_Living_SimpleAnimal_Slime user = null)
        {
            user.changeNext_move(8);
            user.do_attack_animation(this);

            if (!user.is_adult)
            {
                return(false);
            }
            GlobalFuncs.playsound(this.loc, "sound/effects/grillehit.ogg", 80, 1);
            user.visible_message("<span class='warning'>" + user + " smashes against " + this + ".</span>", "<span class='danger'>You smash against " + this + ".</span>", "<span class='italics'>You hear twisting metal.</span>");
            this.health -= Rand13.Int(1, 2);
            this.healthcheck();
            return(false);
        }
Esempio n. 7
0
        // Function from file: effects_foam.dm
        public override bool attack_slime(Mob_Living_SimpleAnimal_Slime user = null)
        {
            user.changeNext_move(8);
            user.do_attack_animation(this);

            if (!user.is_adult)
            {
                this.attack_hand(user);
                return(false);
            }

            if (Rand13.PercentChance(75 - this.metal * 25))
            {
                user.visible_message("<span class='danger'>" + user + " smashes through the foamed metal!</span>", "<span class='danger'>You smash through the metal foam wall!</span>");
                GlobalFuncs.qdel(this);
            }
            return(false);
        }
Esempio n. 8
0
        // Function from file: xenobio_camera.dm
        public override void Activate(int?forced_state = null)
        {
            dynamic C          = null;
            Obj     remote_eye = null;
            dynamic X          = null;
            Mob_Living_SimpleAnimal_Slime S = null;


            if (!Lang13.Bool(this.target) || !(this.owner is Mob_Living_Carbon_Human))
            {
                return;
            }
            C          = this.owner;
            remote_eye = C.remote_control;
            X          = this.target;

            if (GlobalVars.cameranet.checkTurfVis(remote_eye.loc))
            {
                foreach (dynamic _a in Lang13.Enumerate(remote_eye.loc, typeof(Mob_Living_SimpleAnimal_Slime)))
                {
                    S = _a;


                    if (X.stored_slimes.len >= X.max_slimes)
                    {
                        break;
                    }

                    if (!Lang13.Bool(S.ckey))
                    {
                        if (S.buckled != null)
                        {
                            S.Feedstop(true);
                        }
                        S.visible_message("" + S + " vanishes in a flash of light!");
                        S.loc = X;
                        X.stored_slimes.Add(S);
                    }
                }
            }
            return;
        }