// Function from file: blob_mobs.dm public override bool death(bool?gibbed = null, bool?toast = null) { EffectSystem_SmokeSpread_Chem S = null; dynamic location = null; base.death(true, toast); S = new EffectSystem_SmokeSpread_Chem(); location = GlobalFuncs.get_turf(this); this.create_reagents(10); if (this.overmind != null && Lang13.Bool(this.overmind.blob_reagent_datum)) { this.reagents.add_reagent(this.overmind.blob_reagent_datum.id, 10); } else { this.reagents.add_reagent("spore", 10); } S.attach(location); S.set_up(this.reagents, this.death_cloud_size, location); S.start(); this.ghostize(); GlobalFuncs.qdel(this); return(false); }
// Function from file: shadowling_abilities.dm public override bool cast(dynamic targets = null, dynamic thearea = null, dynamic user = null) { Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large B = null; EffectSystem_SmokeSpread_Chem S = null; if (!this.shadowling_check(targets)) { this.revert_cast(); return(false); } ((Ent_Static)targets).visible_message("<span class='warning'>" + targets + " bends over and coughs out a cloud of black smoke!</span>"); targets.WriteMsg("<span class='shadowling'>You regurgitate a vast cloud of blinding smoke.</span>"); B = new Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large(targets.loc); B.reagents.clear_reagents(); B.invisibility = Int32.MaxValue; B.reagents.add_reagent("blindness_smoke", 10); S = new EffectSystem_SmokeSpread_Chem(); S.attach(B); if (S != null) { S.set_up(B.reagents, 4, 0, B.loc); S.start(); } GlobalFuncs.qdel(B); return(false); }
// Function from file: pyrotechnics.dm public override void on_reaction(Reagents holder = null, double?created_volume = null) { double smoke_radius = 0; dynamic location = null; EffectSystem_SmokeSpread_Chem S = null; if (Lang13.Bool(holder.has_reagent("stabilizing_agent"))) { return; } holder.remove_reagent("smoke_powder", created_volume); smoke_radius = Num13.Round(Math.Sqrt((created_volume ?? 0) / 2), 1); location = GlobalFuncs.get_turf(holder.my_atom); S = new EffectSystem_SmokeSpread_Chem(); S.attach(location); GlobalFuncs.playsound(location, "sound/effects/smoke.ogg", 50, 1, -3); if (S != null) { S.set_up(holder, smoke_radius, 0, location); S.start(); } if (holder != null && Lang13.Bool(holder.my_atom)) { holder.clear_reagents(); } return; }