diff --git a/code/game/verbs/character_directory.dm b/code/game/verbs/character_directory.dm new file mode 100644 index 0000000000..6f5a6debc2 --- /dev/null +++ b/code/game/verbs/character_directory.dm @@ -0,0 +1,37 @@ +/client/verb/show_character_directory() + set name = "Character Directory" + set category = "OOC" + set desc = "Shows a listing of all active characters, along with their associated OOC notes, flavor text, and more." + + if(mob.next_move >= world.time) //This is primarily to stop malicious users from trying to lag the server by spamming this verb + return + + mob.next_move = world.time + 10 + + var/html = "" + + var/curID = 0 + for(var/client/C in clients) + if(C.prefs && !C.prefs.show_in_directory) + continue + if(ishuman(C.mob)) + var/mob/living/carbon/human/H = C.mob + if(data_core && data_core.general) + if(!find_general_record("name", H.real_name)) + continue + curID++ + html += "
404: Station not found
" + + var/datum/browser/popup = new(mob, "chardir", "Character Directory", 640, 480) + popup.set_content(html) + popup.open() \ No newline at end of file diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm new file mode 100644 index 0000000000..d0809c781e --- /dev/null +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -0,0 +1,26 @@ +/datum/preferences + var/show_in_directory = TRUE + +/datum/category_item/player_setup_item/vore/misc + name = "Misc Settings" + sort_order = 9 + +/datum/category_item/player_setup_item/vore/misc/load_character(var/savefile/S) + S["show_in_directory"] >> pref.show_in_directory + + +/datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S) + S["show_in_directory"] << pref.show_in_directory + +/datum/category_item/player_setup_item/vore/misc/sanitize_character() + pref.show_in_directory = sanitize_integer(pref.show_in_directory, 0, 1, initial(pref.show_in_directory)) + +/datum/category_item/player_setup_item/vore/misc/content(var/mob/user) + . += "