// Function from file: ethereal_jaunt.dm public virtual void jaunt_steam(dynamic mobloc = null) { EffectSystem_SteamSpread steam = null; steam = new EffectSystem_SteamSpread(); steam.set_up(10, 0, mobloc); steam.start(); return; }
// Function from file: chem_grenade.dm public override void prime( ) { bool has_reagents = false; Obj_Item I = null; dynamic M = null; dynamic last = null; dynamic T = null; dynamic A = null; dynamic DT = null; dynamic DA = null; EffectSystem_SteamSpread steam = null; ByTable viewable = null; ByTable accessible = null; ByTable reactable = null; ByTable mycontents = null; dynamic T2 = null; Ent_Static A2 = null; double? fraction = null; Ent_Static A3 = null; if (this.stage != 3 || !(this.reagents != null)) { return; } foreach (dynamic _a in Lang13.Enumerate(this.beakers, typeof(Obj_Item))) { I = _a; if (Lang13.Bool(I.reagents.total_volume)) { has_reagents = true; } } if (!has_reagents) { GlobalFuncs.playsound(this.loc, "sound/items/Screwdriver2.ogg", 50, 1); return; } if (Lang13.Bool(this.nadeassembly)) { M = GlobalFuncs.get_mob_by_ckey(this.assemblyattacher); last = GlobalFuncs.get_mob_by_ckey(this.nadeassembly.fingerprintslast); T = GlobalFuncs.get_turf(this); A = GlobalFuncs.get_area(T); GlobalFuncs.message_admins(new Txt("grenade primed by an assembly, attached by ").item(GlobalFuncs.key_name_admin(M)).str("<A HREF='?_src_=holder;adminmoreinfo=").Ref(M).str("'>(?)</A> (<A HREF='?_src_=holder;adminplayerobservefollow=").Ref(M).str("'>FLW</A>) and last touched by ").item(GlobalFuncs.key_name_admin(last)).str("<A HREF='?_src_=holder;adminmoreinfo=").Ref(last).str("'>(?)</A> (<A HREF='?_src_=holder;adminplayerobservefollow=").Ref(last).str("'>FLW</A>) (").item(this.nadeassembly.a_left.name).str(" and ").item(this.nadeassembly.a_right.name).str(") at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=").item(T.x).str(";Y=").item(T.y).str(";Z=").item(T.z).str("'>").item(A.name).str(" (JMP)</a>.").ToString()); GlobalFuncs.log_game("grenade primed by an assembly, attached by " + GlobalFuncs.key_name(M) + " and last touched by " + GlobalFuncs.key_name(last) + " (" + this.nadeassembly.a_left.name + " and " + this.nadeassembly.a_right.name + ") at " + A.name + " (" + T.x + ", " + T.y + ", " + T.z + ")"); } GlobalFuncs.playsound(this.loc, "sound/effects/bamf.ogg", 50, 1); DT = GlobalFuncs.get_turf(this); DA = GlobalFuncs.get_area(DT); GlobalFuncs.log_game("A grenade detonated at " + DA.name + " (" + DT.x + ", " + DT.y + ", " + DT.z + ")"); this.update_mob(); this.mix_reagents(); if (Lang13.Bool(this.reagents.total_volume)) { steam = new EffectSystem_SteamSpread(); steam.set_up(10, 0, GlobalFuncs.get_turf(this)); steam.attach(this); steam.start(); viewable = Map13.FetchInView(this.loc, this.affected_area); accessible = this.can_flood_from(this.loc, this.affected_area); reactable = accessible; mycontents = this.GetAllContents(); foreach (dynamic _c in Lang13.Enumerate(accessible)) { T2 = _c; foreach (dynamic _b in Lang13.Enumerate(((Ent_Static)T2).GetAllContents(), typeof(Ent_Static))) { A2 = _b; if (mycontents.Contains(A2)) { continue; } if (!viewable.Contains(A2)) { continue; } reactable.Or(A2); } } if (!(reactable.len != 0)) { GlobalFuncs.qdel(this); return; } fraction = 1 / reactable.len; foreach (dynamic _d in Lang13.Enumerate(reactable, typeof(Ent_Static))) { A3 = _d; this.reagents.reaction(A3, GlobalVars.TOUCH, fraction); } } GlobalFuncs.qdel(this); return; }