コード例 #1
0
        // Function from file: spiders.dm
        public override int?process(dynamic seconds = null)
        {
            int?num = null;
            int?i   = null;
            Obj_Effect_Spider_Spiderling S = null;

            this.amount_grown += Rand13.Int(0, 2);

            if (this.amount_grown >= 100)
            {
                num = Rand13.Int(3, 12);
                i   = null;
                i   = 0;

                while ((i ?? 0) < (num ?? 0))
                {
                    S                 = new Obj_Effect_Spider_Spiderling(this.loc);
                    S.poison_type     = this.poison_type;
                    S.poison_per_bite = this.poison_per_bite;
                    S.faction         = this.faction.Copy();

                    if (this.player_spiders)
                    {
                        S.player_spiders = true;
                    }
                    i++;
                }
                GlobalFuncs.qdel(this);
            }
            return(null);
        }
コード例 #2
0
        // Function from file: spiders.dm
        public override dynamic sting_action(Mob user = null, Ent_Static target = null)
        {
            int?i = null;
            Obj_Effect_Spider_Spiderling S = null;

            i = null;
            i = 0;

            while ((i ?? 0) < 2)
            {
                S         = new Obj_Effect_Spider_Spiderling(user.loc);
                S.grow_as = typeof(Mob_Living_SimpleAnimal_Hostile_Poison_GiantSpider_Hunter);
                i++;
            }
            GlobalFuncs.feedback_add_details("changeling_powers", "SI");
            return(1);
        }
コード例 #3
0
        // Function from file: spider_infestation.dm
        public override bool start(  )
        {
            ByTable vents = null;
            Obj_Machinery_Atmospherics_Components_Unary_VentPump temp_vent = null;
            Pipeline temp_vent_parent      = null;
            dynamic  vent                  = null;
            Obj_Effect_Spider_Spiderling S = null;

            vents = new ByTable();

            foreach (dynamic _a in Lang13.Enumerate(typeof(Game13), typeof(Obj_Machinery_Atmospherics_Components_Unary_VentPump)))
            {
                temp_vent = _a;


                if (temp_vent.loc.z == 1 && !(temp_vent.welded == true))
                {
                    temp_vent_parent = temp_vent.parents[1];

                    if (temp_vent_parent.other_atmosmch.len > 20)
                    {
                        vents.Add(temp_vent);
                    }
                }
            }

            while (this.spawncount >= 1 && vents.len != 0)
            {
                vent = Rand13.PickFromTable(vents);
                S    = new Obj_Effect_Spider_Spiderling(vent.loc);

                if (Rand13.PercentChance(66))
                {
                    S.grow_as = typeof(Mob_Living_SimpleAnimal_Hostile_Poison_GiantSpider_Nurse);
                }
                vents.Remove(vent);
                this.spawncount--;
            }
            return(false);
        }