// Function from file: ninja_stealth.dm public void toggle_stealth( ) { dynamic U = null; U = this.affecting; if (!Lang13.Bool(U)) { return; } if (this.s_active) { this.cancel_stealth(); } else { if (Convert.ToDouble(this.cell.charge) <= 0) { U.WriteMsg("<span class='warning'>You don't have enough power to enable Stealth!</span>"); return; } this.s_active = !this.s_active; Icon13.Animate(new ByTable().Set(1, U).Set("alpha", 0).Set("time", 15)); ((Ent_Static)U).visible_message("<span class='warning'>" + U.name + " vanishes into thin air!</span>", "<span class='notice'>You are now invisible to normal detection.</span>"); } return; }
// Function from file: door.dm public virtual void do_animate(string animation = null) { switch ((string)(animation)) { case "opening": if (this.p_open) { Icon13.Flick("o_doorc0", this); } else { Icon13.Flick("doorc0", this); } break; case "closing": if (this.p_open) { Icon13.Flick("o_doorc1", this); } else { Icon13.Flick("doorc1", this); } break; case "deny": Icon13.Flick("door_deny", this); break; } return; }
// Function from file: portable_turret.dm public void popUp( ) { if (this.disabled) { return; } if (this.raising || this.raised) { return; } if ((this.stat & 1) != 0) { return; } this.invisibility = 0; this.raising = true; if (this.cover != null) { Icon13.Flick("popup", this.cover); } Task13.Sleep(10); this.raising = false; if (this.cover != null) { this.cover.icon_state = "openTurretCover"; } this.raised = true; this.layer = 4; return; }
// Function from file: portable_turret.dm public void popDown( ) { if (this.disabled) { return; } if (this.raising || !this.raised) { return; } if ((this.stat & 1) != 0) { return; } this.layer = 3; this.raising = true; if (this.cover != null) { Icon13.Flick("popdown", this.cover); } Task13.Sleep(10); this.raising = false; if (this.cover != null) { this.cover.icon_state = "turretCover"; } this.raised = false; this.invisibility = 2; this.icon_state = "" + this.base_icon_state + this.off_state; return; }
// Function from file: traitordevices.dm public override int?process(dynamic seconds = null) { dynamic T = null; dynamic lumcount = null; if (this.user.get_item_by_slot(6) != this) { this.Deactivate(); return(null); } T = GlobalFuncs.get_turf(this); if (this.on) { lumcount = ((Tile)T).get_lumcount(); if (Convert.ToDouble(lumcount) > 3) { this.charge = Num13.MaxInt(0, this.charge - 25); } else { this.charge = Num13.MinInt(this.max_charge, this.charge + 50); } Icon13.Animate(new ByTable().Set(1, this.user).Set("alpha", Num13.MaxInt(0, Num13.MinInt(255 - this.charge, 255))).Set("time", 10)); } return(null); }
public void Blend(dynamic icon = null, int?f = null, double?x = null, double?y = null) { x = x ?? 1; y = y ?? 1; Icon13.oper_blend(this.icon, icon, f, ((int?)(x)), ((int?)(y))); }
// Function from file: mutations.dm public override void on_life(Mob_Living owner = null) { int x_offset_old = 0; int y_offset_old = 0; int x_offset = 0; int y_offset = 0; if (Rand13.PercentChance(10) && owner.paralysis <= 1) { owner.Stun(10); dynamic _a = Rand13.Int(1, 3); // Was a switch-case, sorry for the mess. if (2 <= _a && _a <= 3) { owner.say("" + (Rand13.PercentChance(50) ? ";" : "") + Rand13.Pick(new object [] { "SHIT", "PISS", "F**K", "C**T", "C********R", "M**********R", "T**S" })); } else if (_a == 1) { owner.emote("twitch"); } x_offset_old = owner.pixel_x; y_offset_old = owner.pixel_y; x_offset = owner.pixel_x + Rand13.Int(-2, 2); y_offset = owner.pixel_y + Rand13.Int(-1, 1); Icon13.Animate(new ByTable().Set(1, owner).Set("pixel_x", x_offset).Set("pixel_y", y_offset).Set("time", 1)); Icon13.Animate(new ByTable().Set(1, owner).Set("pixel_x", x_offset_old).Set("pixel_y", y_offset_old).Set("time", 1)); } return; }
// Function from file: mineral_doors.dm public void Open( ) { this.isSwitchingStates = true; GlobalFuncs.playsound(this.loc, this.openSound, 100, 1); Icon13.Flick("" + this.mineralType + "opening", this); Task13.Sleep(10); this.density = false; this.opacity = false; this.state = true; this.air_update_turf(true); this.update_icon(); this.isSwitchingStates = false; if (this.close_delay != -1) { Task13.Schedule(this.close_delay, (Task13.Closure)(() => { if (!this.isSwitchingStates && this.state) { this.Close(); } return; })); } 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: tgstation.dme public void place_poster(dynamic P = null, dynamic user = null) { int stuff_on_wall = 0; Obj O = null; Obj_Structure_Sign_Poster D = null; Ent_Static temp_loc = null; if (!(P.resulting_poster != null)) { return; } stuff_on_wall = 0; foreach (dynamic _a in Lang13.Enumerate(this.contents, typeof(Obj))) { O = _a; if (O is Obj_Structure_Sign_Poster) { user.WriteMsg("<span class='warning'>The wall is far too cluttered to place a poster!</span>"); return; } stuff_on_wall++; if (stuff_on_wall == 3) { user.WriteMsg("<span class='warning'>The wall is far too cluttered to place a poster!</span>"); return; } } user.WriteMsg("<span class='notice'>You start placing the poster on the wall...</span>"); D = P.resulting_poster; temp_loc = user.loc; Icon13.Flick("poster_being_set", D); D.loc = this; D.official = Lang13.BoolNullable(P.official); GlobalFuncs.qdel(P); GlobalFuncs.playsound(D.loc, "sound/items/poster_being_created.ogg", 100, 1); if (GlobalFuncs.do_after(user, D.placespeed, null, this)) { if (!(D != null)) { return; } if (this is Tile_Simulated_Wall && Lang13.Bool(user) && user.loc == temp_loc) { user.WriteMsg("<span class='notice'>You place the poster!</span>"); } else { D.roll_and_drop(temp_loc, D.official); } return; } return; }
public void SetIntensity(int r = 0, int?g = null, int?b = null) { g = g ?? -1; b = b ?? -1; Icon13.oper_set_intensity(this.icon, r, g ?? 0, b ?? 0); }
// Function from file: igniter.dm public bool ignite( ) { Ent_Static location = null; if (!Lang13.Bool(this.powered())) { return(false); } if (this.disable || this.last_spark != 0 && Game13.time < this.last_spark + 50) { return(false); } Icon13.Flick("" + this.base_state + "-spark", this); this.spark_system.start(); this.last_spark = Game13.time; this.f_use_power(1000); location = this.loc; if (location is Tile) { ((dynamic)location).hotspot_expose(1000, 500, 1); } return(true); }
// Function from file: construct_spells.dm public override void jaunt_disappear(Dynamic_Overlay animation = null, Mob_Living target = null) { animation.icon_state = "phase_shift"; animation.dir = target.dir; Icon13.Flick("phase_shift", animation); return; }
// Function from file: pad.dm public void PadToLoc(Ent_Static place = null) { Obj_Effect_TeleportAbductor F = null; EffectSystem_SparkSpread S = null; Mob_Living target = null; F = new Obj_Effect_TeleportAbductor(place); S = new EffectSystem_SparkSpread(); S.set_up(10, 0, place); S.start(); Task13.Sleep(80); GlobalFuncs.qdel(F); Icon13.Flick("alien-pad", this); foreach (dynamic _a in Lang13.Enumerate(this.loc, typeof(Mob_Living))) { target = _a; target.forceMove(place); Task13.Schedule(0, (Task13.Closure)(() => { GlobalFuncs.anim(target.loc, target, "icons/mob/mob.dmi", null, "uncloak", null, target.dir); return; })); } return; }
// Function from file: simple_animal.dm public override dynamic gib(dynamic animation = null) { animation = animation ?? 0; dynamic path = null; int? i = null; if (Lang13.Bool(this.icon_gib)) { Icon13.Flick(this.icon_gib, this); } if (this.butcher_results != null) { foreach (dynamic _a in Lang13.Enumerate(this.butcher_results)) { path = _a; i = null; i = 1; while ((i ?? 0) <= Convert.ToDouble(this.butcher_results[path])) { Lang13.Call(path, this.loc); i++; } } } base.gib((object)(animation)); return(null); }
// Function from file: tgstation.dme public void Dispense(Type item = null, int?cost = null) { cost = cost ?? 1; if (this.experiment != null && (this.experiment.points ?? 0) >= (cost ?? 0)) { this.experiment.points -= cost ?? 0; this.say("Incoming supply!"); if (this.pad != null) { Icon13.Flick("alien-pad", this.pad); Lang13.Call(item, this.pad.loc); } else { Lang13.Call(item, this.loc); } } else { this.say("Insufficent data!"); } return; }
// Function from file: disposal-structures.dm public void expel(Obj_Structure_Disposalholder H = null) { dynamic T = null; Ent_Dynamic AM = null; T = GlobalFuncs.get_turf(this); Icon13.Flick("outlet-open", this); if (this.start_eject + 30 < Game13.time) { this.start_eject = Game13.time; GlobalFuncs.playsound(this, "sound/machines/warning-buzzer.ogg", 50, 0, 0); Task13.Sleep(20); GlobalFuncs.playsound(this, "sound/machines/hiss.ogg", 50, 0, 0); } else { Task13.Sleep(20); } if (H != null) { foreach (dynamic _a in Lang13.Enumerate(H, typeof(Ent_Dynamic))) { AM = _a; AM.forceMove(T); AM.pipe_eject(this.dir); AM.throw_at_fast(this.target, this.eject_range, 1); } H.vent_gas(T); GlobalFuncs.qdel(H); } return; }
// Function from file: ores_coins.dm public override dynamic attack_self(dynamic user = null, dynamic flag = null, bool?emp = null) { dynamic coinflip = null; Ent_Static oldloc = null; if (this.cooldown < Game13.time - 15) { if (this.string_attached == true) { user.WriteMsg("<span class='warning'>The coin won't flip very well with something attached!</span>"); return(null); } coinflip = Rand13.PickFromTable(this.sideslist); this.cooldown = Game13.time; Icon13.Flick("coin_" + this.cmineral + "_flip", this); this.icon_state = "coin_" + this.cmineral + "_" + coinflip; GlobalFuncs.playsound(user.loc, "sound/items/coinflip.ogg", 50, 1); oldloc = this.loc; Task13.Sleep(15); if (this.loc == oldloc && Lang13.Bool(user) && !((Mob)user).incapacitated()) { ((Ent_Static)user).visible_message("" + user + " has flipped " + this + ". It lands on " + coinflip + ".", "<span class='notice'>You flip " + this + ". It lands on " + coinflip + ".</span>", "<span class='italics'>You hear the clattering of loose change.</span>"); } } return(null); }
// Function from file: mass_driver.dm public void drive(dynamic amount = null) { int O_limit = 0; dynamic target = null; Ent_Dynamic O = null; if ((this.stat & 3) != 0) { return; } this.f_use_power(500); target = GlobalFuncs.get_edge_target_turf(this, this.dir); foreach (dynamic _a in Lang13.Enumerate(this.loc, typeof(Ent_Dynamic))) { O = _a; if (!Lang13.Bool(O.anchored) || O is Obj_Mecha) { O_limit++; if (O_limit >= 20) { this.audible_message("<span class='notice'>" + this + " lets out a screech, it doesn't seem to be able to handle the load.</span>"); break; } this.f_use_power(500); O.throw_at_fast(target, this.drive_range * (this.power ?? 0), this.power); } } Icon13.Flick("mass_driver1", this); return; }
// Function from file: mineral_doors.dm public virtual void Close( ) { dynamic T = null; Mob_Living L = null; T = GlobalFuncs.get_turf(this); foreach (dynamic _a in Lang13.Enumerate(T, typeof(Mob_Living))) { L = _a; return; } this.isSwitchingStates = true; GlobalFuncs.playsound(this.loc, this.closeSound, 100, 1); Icon13.Flick("" + this.mineralType + "closing", this); Task13.Sleep(10); this.density = true; this.opacity = true; this.state = false; this.air_update_turf(true); this.update_icon(); this.isSwitchingStates = false; return; }
// Function from file: poddoor.dm public override bool close(int?surpress_send = null) { surpress_send = surpress_send ?? 0; if (this.operating) { return(false); } if (this.density) { return(false); } if (!Lang13.Bool(surpress_send) && (this.stat & 2) != 0) { return(false); } this.operating = true; Icon13.Flick("closing", this); this.icon_state = "closed"; this.SetOpacity(1); Task13.Sleep(5); this.density = true; Task13.Sleep(5); this.air_update_turf(true); this.update_freelook_sight(); Task13.Sleep(5); this.crush(); Task13.Sleep(5); this.operating = false; return(false); }
public void Turn(dynamic angle = null, dynamic antialias = null) { if (Lang13.Bool(antialias)) { Icon13.oper(9, this.icon, angle); } Icon13.oper(5, this.icon, angle); }
// Function from file: reagentgrinder.dm public void juice( ) { int offset = 0; Obj_Item_Weapon_ReagentContainers_Food_Snacks O = null; dynamic allowed = null; dynamic r_id = null; dynamic space = null; int amount = 0; this.power_change(); if ( ( this.stat & 3 ) != 0 ) { return; } if ( !Lang13.Bool( this.beaker ) || Lang13.Bool( this.beaker ) && ( this.beaker.reagents.total_volume ??0) >= Convert.ToDouble( this.beaker.reagents.maximum_volume ) ) { return; } GlobalFuncs.playsound( this.loc, "sound/machines/juicer.ogg", 20, 1 ); offset = ( Rand13.PercentChance( 50 ) ? -2 : 2 ); Icon13.Animate( new ByTable().Set( 1, this ).Set( "pixel_x", this.pixel_x + offset ).Set( "time", 0.2 ).Set( "loop", 250 ) ); this.operating = true; this.updateUsrDialog(); Task13.Schedule( 50, (Task13.Closure)(() => { this.pixel_x = Convert.ToInt32( Lang13.Initial( this, "pixel_x" ) ); this.operating = false; this.updateUsrDialog(); return; })); foreach (dynamic _b in Lang13.Enumerate( this.holdingitems, typeof(Obj_Item_Weapon_ReagentContainers_Food_Snacks) )) { O = _b; if ( ( this.beaker.reagents.total_volume ??0) >= Convert.ToDouble( this.beaker.reagents.maximum_volume ) ) { break; } allowed = this.get_allowed_juice_by_id( O ); if ( allowed == null ) { break; } foreach (dynamic _a in Lang13.Enumerate( allowed )) { r_id = _a; space = this.beaker.reagents.maximum_volume - this.beaker.reagents.total_volume; amount = this.get_juice_amount( O ); this.beaker.reagents.add_reagent( r_id, Num13.MinInt( amount, Convert.ToInt32( space ) ) ); if ( ( this.beaker.reagents.total_volume ??0) >= Convert.ToDouble( this.beaker.reagents.maximum_volume ) ) { break; } } this.remove_object( O ); } return; }
// Function from file: nuke_tools.dm public override int?process(dynamic seconds = null) { if (this.cooldown < Game13.time - 60) { this.cooldown = Game13.time; Icon13.Flick("plutonium_core_pulse", this); GlobalFuncs.radiation_pulse(GlobalFuncs.get_turf(this), 1, 4, 40, true); } return(null); }
// Function from file: pad.dm public void Retrieve(dynamic target = null) { Icon13.Flick("alien-pad", this); Task13.Schedule(0, (Task13.Closure)(() => { GlobalFuncs.anim(target.loc, target, "icons/mob/mob.dmi", null, "uncloak", null, Convert.ToInt32(target.dir)); return; })); this.Warp(target); return; }
// Function from file: lighting_system.dm public void redraw_lighting(bool?instantly = null) { instantly = instantly ?? false; int newalpha = 0; int num = 0; if (Lang13.Bool(this.lighting_object)) { if (this.lighting_lumcount <= 0) { newalpha = 255; } else { this.lighting_object.luminosity = 1; if (this.lighting_lumcount < 10) { num = Num13.MaxInt(0, Num13.MinInt(((int)(this.lighting_lumcount * 25.5)), 255)); newalpha = 255 - num; } else { newalpha = 0; } } if (newalpha >= 250) { newalpha = 255; } if (Convert.ToInt32(this.lighting_object.alpha) != newalpha) { if (instantly == true) { this.lighting_object.alpha = newalpha; } else { Icon13.Animate(new ByTable().Set(1, this.lighting_object).Set("alpha", newalpha).Set("time", 2)); } if (newalpha >= 250) { this.luminosity = 0; this.lighting_object.luminosity = 0; } } } this.lighting_changed = false; return; }
// Function from file: narsie.dm public void narsie_spawn_animation( ) { this.icon = "icons/obj/narsie_spawn_anim.dmi"; this.dir = ((int)(GlobalVars.SOUTH)); this.move_self = false; Icon13.Flick("narsie_spawn_anim", this); Task13.Sleep(11); this.move_self = true; this.icon = Lang13.Initial(this, "icon"); return; }
// Function from file: kitchen_spike.dm public override dynamic user_unbuckle_mob(dynamic user = null) { dynamic M = null; Matrix m180 = null; if (Lang13.Bool(this.buckled_mob) && this.buckled_mob.buckled == this) { M = this.buckled_mob; if (M != user) { ((Ent_Static)M).visible_message("" + user.name + " tries to pull " + M.name + " free of the " + this + "!", "<span class='notice'>" + user.name + " is trying to pull you off the " + this + ", opening up fresh wounds!</span>", "<span class='italics'>You hear a squishy wet noise.</span>"); if (!GlobalFuncs.do_after(user, 300, null, this)) { if (Lang13.Bool(M) && M.buckled != null) { ((Ent_Static)M).visible_message("" + user.name + " fails to free " + M.name + "!", "<span class='notice'>" + user.name + " fails to pull you off of the " + this + ".</span>"); } return(null); } } else { ((Ent_Static)M).visible_message("<span class='warning'>" + M.name + " struggles to break free from the " + this + "!</span>", "<span class='notice'>You struggle to break free from the " + this + ", exacerbating your wounds! (Stay still for two minutes.)</span>", "<span class='italics'>You hear a wet squishing noise..</span>"); ((Mob_Living)M).adjustBruteLoss(30); if (!GlobalFuncs.do_after(M, 1200, null, this)) { if (Lang13.Bool(M) && M.buckled != null) { M.WriteMsg("<span class='warning'>You fail to free yourself!</span>"); } return(null); } } if (!(M.buckled != null)) { return(null); } m180 = Num13.Matrix(M.transform); m180.Turn(180); Icon13.Animate(new ByTable().Set(1, M).Set("transform", m180).Set("time", 3)); M.pixel_y = ((Mob_Living)M).get_standard_pixel_y_offset(180); ((Mob_Living)M).adjustBruteLoss(30); this.visible_message("<span class='danger'>" + M + " falls free of the " + this + "!</span>"); this.unbuckle_mob(); ((Mob)M).emote("scream"); ((Mob)M).AdjustWeakened(10); } return(null); }
// Function from file: bins.dm public void do_animate( ) { GlobalFuncs.playsound(this.loc, this.open_sound, 15, 1, -3); Icon13.Flick("animate_largebins", this); Task13.Schedule(13, (Task13.Closure)(() => { GlobalFuncs.playsound(this.loc, this.close_sound, 15, 1, -3); this.update_icon(); return; })); return; }
// Function from file: observer.dm public override dynamic orbit(dynamic A = null, double?radius = null, int?clockwise = null, double?rotation_speed = null, int?rotation_segments = null, int?pre_rotation = null, int?lockinorbit = null) { base.orbit((object)(A), radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit); Task13.Sleep(2); if (!Lang13.Bool(this.orbiting)) { this.pixel_y = 0; Icon13.Animate(new ByTable().Set(1, this).Set("pixel_y", 2).Set("time", 10).Set("loop", -1)); } return(null); }