// 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; }
// 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); }
// 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()); }