|
| 1 | +mob |
| 2 | + Topic(href,href_list[]) |
| 3 | + if(href_list["dump"]) |
| 4 | + if(key != "Nadrew" && key != "Zarkend") |
| 5 | + ..() |
| 6 | + return |
| 7 | + var/atom/dp = locate(href_list["dump"]) in world |
| 8 | + if(!dp) |
| 9 | + src << "Unable to dump object." |
| 10 | + return |
| 11 | + var/mob/admin/A = src |
| 12 | + A.DumpVars(dp) |
| 13 | + else if(href_list["edit"]) |
| 14 | + if(key != "Nadrew" && key != "Zarkend") |
| 15 | + ..() |
| 16 | + return |
| 17 | + var/atom/ed = locate(href_list["edit"]) in world |
| 18 | + if(!ed) |
| 19 | + src << "Unable to locate object for editing." |
| 20 | + return |
| 21 | + var/mob/admin/A = src |
| 22 | + A.Edit(ed) |
| 23 | + else |
| 24 | + ..() |
| 25 | + admin |
| 26 | + verb |
| 27 | + AWho() |
| 28 | + set category = "Admin" |
| 29 | + for(var/client/C) |
| 30 | + usr << "<b>[C.key]</b> (IP: [C.address]) (ID: [C.computer_id]) (Inactivity: [C.inactivity])" |
| 31 | + Ascii(T as text) |
| 32 | + set category = "Admin" |
| 33 | + usr << text2ascii(T) |
| 34 | + Char(N as num) |
| 35 | + set category = "Admin" |
| 36 | + usr << ascii2text(N) |
| 37 | + DirOutput(T as text,T2 as text) |
| 38 | + set category = "Admin" |
| 39 | + var/final = dir2num(T) | dir2num(T2) |
| 40 | + usr << "[dir2num(T)] | [dir2num(T2)] = [final]" |
| 41 | + DeleteSegment(obj/O as obj in world) |
| 42 | + set category = "Admin" |
| 43 | + if(istype(O,/obj/signal/wire)) |
| 44 | + var/obj/signal/wire/W = O |
| 45 | + var/list/segments = list() |
| 46 | + W.segment(usr,null,segments) |
| 47 | + for(var/obj/F in segments) |
| 48 | + del(F) |
| 49 | + else |
| 50 | + usr << "Not a wire..." |
| 51 | + ImportLab(fi as file,T as text) |
| 52 | + set category = "Admin" |
| 53 | + fdel("saves/labs/new/[ckey(T)].lab") |
| 54 | + var/savefile/F = new("saves/labs/new/[ckey(T)].lab") |
| 55 | + F.ImportText("/",file2text(fi)) |
| 56 | + Load_Old_Lab() |
| 57 | + set category = "Admin" |
| 58 | + var/list/save_areas = list() |
| 59 | + for(var/area/save_location/S in world) |
| 60 | + save_areas += S |
| 61 | + var/area/save_location/save_loc = input("Which lab do you want to load?")as null|anything in save_areas |
| 62 | + if(!save_loc) return |
| 63 | + save_loc.Load("saves/labs/[ckey(save_loc.name)].lab") |
| 64 | + src << "[save_loc.name] loaded." |
| 65 | + |
| 66 | + ReadSavefile(save as text) |
| 67 | + set category = "Admin" |
| 68 | + var/savefile/F = new(save) |
| 69 | + var/save_contents = F.ExportText("/") |
| 70 | + usr << browse("<pre>[save_contents]</pre>","debug_browser.browser") |
| 71 | + winshow(usr,"debug_browser",1) |
| 72 | + ViewLog() |
| 73 | + set category = "Admin" |
| 74 | + var/logdata = file2text("console.log") |
| 75 | + if(!logdata) |
| 76 | + src << "No log found." |
| 77 | + return |
| 78 | + logdata = replacetext(logdata,"\n","<br>") |
| 79 | + src << browse("<tt>[logdata]</tt>","window=logwindow") |
| 80 | + DeleteLog() |
| 81 | + set category = "Admin" |
| 82 | + fdel("console.log") |
| 83 | + Dump_file_vars() |
| 84 | + set category = "Admin" |
| 85 | + var/list/computers = list() |
| 86 | + for(var/obj/signal/computer/C in usr) |
| 87 | + computers += C |
| 88 | + var/obj/signal/computer/sel_c = input("Which computer?")as null|anything in computers |
| 89 | + if(!sel_c) return |
| 90 | + var/list/files = list() |
| 91 | + for(var/datum/file/F in sel_c.level.files) |
| 92 | + files += F |
| 93 | + var/datum/file/sel_file = input("Which file?")as null|anything in files |
| 94 | + if(!sel_file) return |
| 95 | + src.DumpVars(sel_file) |
| 96 | + Edit(atom/A in world) |
| 97 | + set category = "Admin" |
| 98 | + var/variable = input("What variable do you want to edit?")as null|anything in A.vars |
| 99 | + if(!variable) return |
| 100 | + var/val = A.vars[variable] |
| 101 | + var/nval |
| 102 | + var/t = input("What to edit it as?")as null|anything in list("number","text") |
| 103 | + switch(t) |
| 104 | + if("number") |
| 105 | + nval = input("What do you want to edit [variable] to?","New value",val)as null|num |
| 106 | + if("text") |
| 107 | + nval = input("What do you want to edit [variable] to?","New value",val)as null|text |
| 108 | + if(!nval) |
| 109 | + switch(alert("Value is 0, do you want to cancel or continue?",,"Cancel","Continue")) |
| 110 | + if("Cancel") return |
| 111 | + A.vars[variable] = nval |
| 112 | + SetExcodeSpeed(N as num) |
| 113 | + set name = "Excode Speed" |
| 114 | + set category = "Admin" |
| 115 | + excode_speed = N |
| 116 | + world << "Excode parser speed set to [N*10] commands per second." |
| 117 | + Duplicate(atom/A in world) |
| 118 | + set category = "Admin" |
| 119 | + new A.type(usr.loc) |
| 120 | + Duplicate_Inv(atom/A in world) |
| 121 | + set category = "Admin" |
| 122 | + set name = "Duplicate Inventory" |
| 123 | + new A.type(usr) |
| 124 | + Create() |
| 125 | + set category = "Admin" |
| 126 | + var/no = input("What do you want to create?")as null|anything in typesof(/datum) |
| 127 | + if(!no) return |
| 128 | + new no(usr.loc) |
| 129 | + Reboot() |
| 130 | + set category = "Admin" |
| 131 | + world << "<b><font color=red>Rebooting in 30 seconds</font></b>" |
| 132 | + sleep(300) |
| 133 | + world.Reboot() |
| 134 | + Summon(mob/M as mob in world) |
| 135 | + set category = "Admin" |
| 136 | + M.loc = src.loc |
| 137 | + Teleport(mob/M as mob in world) |
| 138 | + set category = "Admin" |
| 139 | + src.loc = M.loc |
| 140 | + Teleport_Lab(area/save_location/A in world) |
| 141 | + set category = "Admin" |
| 142 | + var/turf/T = locate() in A |
| 143 | + if(T) loc = T |
| 144 | + Observe(mob/M as mob in world) |
| 145 | + set category = "Admin" |
| 146 | + if(client.eye != usr) |
| 147 | + client.eye = usr |
| 148 | + client.perspective = MOB_PERSPECTIVE |
| 149 | + else |
| 150 | + client.eye = M |
| 151 | + client.perspective = EYE_PERSPECTIVE |
| 152 | + Vanish() |
| 153 | + set category = "Admin" |
| 154 | + src.invisibility = !src.invisibility |
| 155 | + src.see_invisible = !src.see_invisible |
| 156 | + src.density = !src.invisibility |
| 157 | + src << "You [density?"reappear":"vanish"]" |
| 158 | + ForceDoor(obj/door/D as obj in world) |
| 159 | + set category = "Admin" |
| 160 | + if(D.density) |
| 161 | + D.open() |
| 162 | + else |
| 163 | + D.close() |
| 164 | + Delete(atom/A in world) |
| 165 | + set category = "Admin" |
| 166 | + if(ismob(A)) |
| 167 | + var/mob/M = A |
| 168 | + if(M.key == "Nadrew" || M.key == "Zarkend") return |
| 169 | + del(A) |
| 170 | + Spawn() |
| 171 | + set category = "Admin" |
| 172 | + var/ni = input("What do you want to spawn?")as null|anything in typesof(/obj) |
| 173 | + if(!ni) return |
| 174 | + new ni(usr.loc) |
| 175 | + DumpVars(atom/A in world) |
| 176 | + set category = "Admin" |
| 177 | + var/html = "<b><u>Variable dump for [A.name] (<a href=byond://?src=\ref[src]&edit=\ref[A]>Edit</a>)</b></u><br>" |
| 178 | + for(var/V in A.vars) |
| 179 | + if(istype(A.vars[V],/list)) |
| 180 | + var/list/L = A.vars[V] |
| 181 | + html += "<b>[V] (list)</b>" |
| 182 | + if(L.len > 0) |
| 183 | + html += "<br>" |
| 184 | + for(var/I in L) |
| 185 | + var/vl = "[I]" |
| 186 | + if(!vl) continue |
| 187 | + if(istype(I,/datum)) |
| 188 | + vl = "<a href=byond://?src=\ref[src]&dump=\ref[I]>[I]</a>" |
| 189 | + html += "-- [vl]<br>" |
| 190 | + else |
| 191 | + html += " = <i>Empty list</i><br>" |
| 192 | + else |
| 193 | + var/vl = "[A.vars[V]]" |
| 194 | + if(istype(A.vars[V],/datum)) |
| 195 | + vl = "<a href=byond://?src=\ref[src]&dump=\ref[A.vars[V]]>[A.vars[V]]</a>" |
| 196 | + html += "[V] = [vl]<br>" |
| 197 | + usr << browse(html,"window=dumpvars") |
| 198 | + Host |
| 199 | + verb |
| 200 | + Save_Lab() |
| 201 | + set category = "Host" |
| 202 | + set background = 1 |
| 203 | + var/list/save_areas = list() |
| 204 | + for(var/area/save_location/S in world) |
| 205 | + save_areas += S |
| 206 | + var/area/save_location/save_loc = input("Which lab do you want to save?")as null|anything in save_areas |
| 207 | + if(!save_loc) return |
| 208 | + save_loc.Save() |
| 209 | + src << "[save_loc.name] saved." |
| 210 | + |
| 211 | + Load_Lab() |
| 212 | + set category = "Host" |
| 213 | + var/list/save_areas = list() |
| 214 | + for(var/area/save_location/S in world) |
| 215 | + save_areas += S |
| 216 | + var/area/save_location/save_loc = input("Which lab do you want to load?")as null|anything in save_areas |
| 217 | + if(!save_loc) return |
| 218 | + save_loc.Load(src) |
| 219 | + Save_All_Labs() |
| 220 | + set category = "Host" |
| 221 | + SaveLabs() |
| 222 | + |
| 223 | + Load_All_Labs() |
| 224 | + set category = "Host" |
| 225 | + LoadLabs() |
| 226 | + |
| 227 | + |
0 commit comments