diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 93b2824ebe..2fdd3a03c9 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -169,17 +169,31 @@ var/global/floorIsLava = 0 Shade
"} - - if (M.client) - body += {"

+ body += {"

Other actions:
- Forcesay | + Forcesay + "} + if (M.client) + body += {" | Thunderdome 1 | Thunderdome 2 | Thunderdome Admin | Thunderdome Observer | "} + // language toggles + body += "

Languages:
" + var/f = 1 + for(var/k in all_languages) + var/datum/language/L = all_languages[k] + if(L.flags & INNATE) + continue + if(!f) body += " | " + else f = 0 + if(L in M.languages) + body += "[k]" + else + body += "[k]" body += {"
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 6c417a35e1..0c3b4ccbfd 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1496,14 +1496,14 @@ //open a browse window listing the contents instead var/data = "" var/obj/item/weapon/paper_bundle/B = fax - + for (var/page = 1, page <= B.amount, page++) var/obj/pageobj = B.contents[page] data += "Page [page] - [pageobj.name]
" - + world << data world << "usr = [usr]" - + usr << browse(data, "window=[B.name]") else usr << "\red The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]" @@ -1511,9 +1511,9 @@ else if (href_list["AdminFaxViewPage"]) var/page = text2num(href_list["AdminFaxViewPage"]) var/obj/item/weapon/paper_bundle/bundle = locate(href_list["paper_bundle"]) - + if (!bundle) return - + if (istype(bundle.contents[page], /obj/item/weapon/paper)) var/obj/item/weapon/paper/P = bundle.contents[page] P.show_content(src.owner, 1) @@ -1530,13 +1530,13 @@ if(!input) return var/customname = input(src.owner, "Pick a title for the report", "Title") as text|null - + // Create the reply message var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( null ) //hopefully the null loc won't cause trouble for us P.name = "[command_name()]- [customname]" P.info = input P.update_icon() - + // Stamps var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') stampoverlay.icon_state = "paper_stamp-cent" @@ -1552,7 +1552,7 @@ message_admins("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(sender)]", 1) else src.owner << "\red Message reply failed." - + spawn(100) del(P) return @@ -2757,6 +2757,24 @@ if(href_list["vsc"] == "default") vsc.SetDefault(usr) + else if(href_list["toglang"]) + if(check_rights(R_SPAWN)) + var/mob/M = locate(href_list["toglang"]) + if(!istype(M)) + usr << "[M] is illegal type, must be /mob!" + return + var/lang2toggle = href_list["lang"] + var/datum/language/L = all_languages[lang2toggle] + + if(L in M.languages) + if(!M.remove_language(lang2toggle)) + usr << "Failed to remove language '[lang2toggle]' from \the [M]!" + else + if(!M.add_language(lang2toggle)) + usr << "Failed to add language '[lang2toggle]' from \the [M]!" + + show_player_panel(M) + // player info stuff if(href_list["add_player_info"])