// 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: chem_grenade.dm public Obj_Item_Weapon_Grenade_ChemGrenade_Teargas(dynamic loc = null) : base((object)(loc)) { Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large B1 = null; Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large B2 = null; // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; B1 = new Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large(this); B2 = new Obj_Item_Weapon_ReagentContainers_Glass_Beaker_Large(this); B1.reagents.add_reagent("condensedcapsaicin", 60); B1.reagents.add_reagent("potassium", 40); B2.reagents.add_reagent("phosphorus", 40); B2.reagents.add_reagent("sugar", 40); this.beakers.Add(B1); this.beakers.Add(B2); return; }