Example #1
0
        // Function from file: powers.dm
        public void rally_spores(dynamic T = null)
        {
            ByTable surrounding_turfs = null;
            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore BS = null;

            this.WriteMsg("You rally your spores.");
            surrounding_turfs = Map13.FetchInBlock(Map13.GetTile(Convert.ToInt32(T.x - 1), Convert.ToInt32(T.y - 1), Convert.ToInt32(T.z)), Map13.GetTile(Convert.ToInt32(T.x + 1), Convert.ToInt32(T.y + 1), Convert.ToInt32(T.z)));

            if (!(surrounding_turfs.len != 0))
            {
                return;
            }

            foreach (dynamic _a in Lang13.Enumerate(GlobalVars.living_mob_list, typeof(Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore)))
            {
                BS = _a;


                if (BS.overmind == this && BS.loc is Tile && Map13.GetDistance(BS, T) <= 35)
                {
                    BS.LoseTarget();
                    BS.Goto(Rand13.PickFromTable(surrounding_turfs), BS.move_to_delay);
                }
            }
            return;
        }
Example #2
0
        // Function from file: factory.dm
        public override bool Be_Pulsed(  )
        {
            bool _default = false;

            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore BS = null;

            _default = base.Be_Pulsed();

            if (this.spores.len >= this.max_spores)
            {
                return(_default);
            }

            if (this.spore_delay > Game13.time)
            {
                return(_default);
            }
            Icon13.Flick("blob_factory_glow", this);
            this.spore_delay = Game13.time + 100;
            BS = new Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore(this.loc, this);

            if (this.overmind != null)
            {
                BS.overmind = this.overmind;
                BS.update_icons();
                this.overmind.blob_mobs.Add(BS);
            }
            return(_default);
        }
Example #3
0
        // Function from file: factory.dm
        public override dynamic Destroy(  )
        {
            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore spore = null;


            foreach (dynamic _a in Lang13.Enumerate(this.spores, typeof(Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore)))
            {
                spore = _a;


                if (spore.factory == this)
                {
                    spore.factory = null;
                }
            }
            this.spores = null;
            return(base.Destroy());
        }