// Function from file: apc_frame.dm public override bool try_build(Tile_Simulated_Wall on_wall = null) { dynamic loc = null; Ent_Static A = null; Obj_Machinery_Power_Terminal T = null; Obj_Item_Stack_CableCoil C = null; if (!base.try_build(on_wall)) { return(false); } loc = GlobalFuncs.get_turf(Task13.User); A = loc.loc; if (Lang13.Bool(((dynamic)A).get_apc())) { Task13.User.WriteMsg("<span class='warning'>This area already has APC!</span>"); return(false); } foreach (dynamic _a in Lang13.Enumerate(loc, typeof(Obj_Machinery_Power_Terminal))) { T = _a; if (T.master != null) { Task13.User.WriteMsg("<span class='warning'>There is another network terminal here!</span>"); return(false); } else { C = new Obj_Item_Stack_CableCoil(loc); C.amount = 10; Task13.User.WriteMsg("<span class='notice'>You cut the cables and disassemble the unused power terminal.</span>"); GlobalFuncs.qdel(T); } } return(true); }
// Function from file: apc_frame.dm public virtual bool try_build(Tile_Simulated_Wall on_wall = null) { int ndir = 0; dynamic loc = null; Ent_Static A = null; if (Map13.GetDistance(on_wall, Task13.User) > 1) { return(false); } ndir = Map13.GetDistance(on_wall, Task13.User); if (!GlobalVars.cardinal.Contains(ndir)) { return(false); } loc = GlobalFuncs.get_turf(Task13.User); A = loc.loc; if (!(loc is Tile_Simulated_Floor)) { Task13.User.WriteMsg("<span class='warning'>You cannot place " + this + " on this spot!</span>"); return(false); } if (Lang13.Bool(((dynamic)A).requires_power) == false || A is Zone_Space) { Task13.User.WriteMsg("<span class='warning'>You cannot place " + this + " in this area!</span>"); return(false); } if (GlobalFuncs.gotwallitem(loc, ndir, (this.inverse ?1:0) * 2)) { Task13.User.WriteMsg("<span class='warning'>There's already an item on this wall!</span>"); return(false); } return(true); }
// Function from file: apc_frame.dm public void attach(Tile_Simulated_Wall on_wall = null) { int ndir = 0; dynamic O = null; if (this.result_path != null) { GlobalFuncs.playsound(this.loc, "sound/machines/click.ogg", 75, 1); Task13.User.visible_message("" + Task13.User.name + " attaches " + this + " to the wall.", "<span class='notice'>You attach " + this + " to the wall.</span>", "<span class='italics'>You hear clicking.</span>"); ndir = Map13.GetDistance(on_wall, Task13.User); if (this.inverse) { ndir = Num13.Rotate(ndir, 180); } O = Lang13.Call(this.result_path, GlobalFuncs.get_turf(Task13.User), ndir, 1); this.transfer_fingerprints_to(O); } GlobalFuncs.qdel(this); return; }