//GUYS REMEMBER TO ADD A += to UPDATE_ADMINS //AND A -= TO CLEAR_ADMIN_VERBS //Some verbs that are still in the code but not used atm // Debug // verbs += /client/proc/radio_report //for radio debugging dont think its been used in a very long time // verbs += /client/proc/fix_next_move //has not been an issue in a very very long time // Mapping helpers added via enable_mapping_debug verb // verbs += /client/proc/do_not_use_these // verbs += /client/proc/camera_view // verbs += /client/proc/sec_camera_report // verbs += /client/proc/intercom_view // verbs += /client/proc/air_status //Air things // verbs += /client/proc/Cell //More air things /client/proc/update_admins(var/rank) if(!holder) holder = new /obj/admins(src) holder.rank = rank if(!holder.state) var/state = alert("Which state do you the admin to begin in?", "Admin-state", "Play", "Observe", "Neither") if(state == "Play") holder.state = 1 admin_play() return else if(state == "Observe") holder.state = 2 admin_observe() return else del(holder) return switch (rank) if ("Game Master") deadchat = 1 seeprayers = 1 holder.level = 6 if ("Game Admin") deadchat = 1 seeprayers = 1 holder.level = 5 if ("Badmin") deadchat = 1 seeprayers = 1 holder.level = 4 if ("Trial Admin") deadchat = 1 seeprayers = 1 holder.level = 3 if(holder.state == 2) // if observing // Debug verbs += /client/proc/debug_variables //verbs += /client/proc/cmd_modify_object_variables --Merged with view variables verbs += /client/proc/cmd_modify_ticker_variables // Admin helpers verbs += /client/proc/toggle_view_range // Admin game intrusion verbs += /client/proc/Getmob verbs += /client/proc/Getkey verbs += /client/proc/sendmob verbs += /client/proc/Jump verbs += /client/proc/jumptokey verbs += /client/proc/jumptomob verbs += /client/proc/jumptoturf verbs += /client/proc/cmd_admin_add_freeform_ai_law verbs += /client/proc/cmd_admin_rejuvenate verbs += /client/proc/cmd_admin_drop_everything if ("Admin Candidate") holder.level = 2 if(holder.state == 2) // if observing deadchat = 1 // Settings verbs += /obj/admins/proc/toggleaban //abandon mob verbs += /client/proc/deadchat //toggles deadchat // Admin helpers //verbs += /client/proc/cmd_admin_attack_log //Use view variables verbs += /client/proc/cmd_admin_check_contents // Admin game intrusion verbs += /client/proc/Jump verbs += /client/proc/jumptokey verbs += /client/proc/jumptomob if ("Temporary Admin") holder.level = 1 if ("Moderator") holder.level = 0 if ("Admin Observer") holder.level = -1 if ("Banned") holder.level = -2 del(src) return if ("Retired Admin") holder.level = -3 else del(holder) return if (holder)//Slightly easier to edit way of granting powers holder.owner = src if (holder.level >= 6)//Game Master******************************************************************** verbs += /client/proc/callproc verbs += /obj/admins/proc/adjump verbs += /client/proc/get_admin_state verbs += /client/proc/reload_admins verbs += /client/proc/kill_air verbs += /client/proc/cmd_debug_make_powernets verbs += /client/proc/enable_mapping_debug verbs += /client/proc/everyone_random verbs += /client/proc/only_one // Fateweaver suggested I do this - Doohl verbs += /client/proc/callprocgen verbs += /client/proc/callprocobj verbs += /client/proc/cmd_debug_prints verbs += /client/proc/cmd_debug_blood verbs += /client/proc/rnd_check_designs if (holder.level >= 5)//Game Admin******************************************************************** verbs += /obj/admins/proc/view_txt_log //verbs += /client/proc/cmd_mass_modify_object_variables --Merged with view variables verbs += /client/proc/cmd_admin_list_open_jobs verbs += /client/proc/cmd_admin_direct_narrate verbs += /client/proc/cmd_admin_world_narrate verbs += /client/proc/cmd_debug_del_all verbs += /client/proc/cmd_debug_tog_aliens verbs += /client/proc/ticklag verbs += /client/proc/mapload verbs += /obj/admins/proc/spawn_atom verbs += /client/proc/check_words verbs += /client/proc/drop_bomb //verbs += /client/proc/give_spell --moved to view variables //verbs += /client/proc/cmd_admin_ninjafy --now in view vars verbs += /client/proc/cmd_admin_grantfullaccess //verbs += /client/proc/cmd_admin_explosion --now in view vars //verbs += /client/proc/cmd_admin_emp --now in view vars verbs += /client/proc/jump_to_dead_group verbs += /client/proc/cmd_admin_drop_everything verbs += /client/proc/make_sound verbs += /client/proc/play_local_sound verbs += /client/proc/send_space_ninja verbs += /client/proc/restartcontroller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri verbs += /client/proc/Blobize//I need to remember to move/remove this later verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested) // Moved over from tg's Game Master: verbs += /client/proc/colorooc verbs += /obj/admins/proc/toggle_aliens //toggle aliens verbs += /obj/admins/proc/toggle_space_ninja //toggle ninjas verbs += /client/proc/triple_ai verbs += /client/proc/object_talk verbs += /client/proc/strike_team verbs += /client/proc/admin_invis verbs += /client/proc/cmd_admin_godmode verbs += /client/proc/delbook verbs += /client/proc/Force_Event_admin verbs += /client/proc/radioalert verbs += /client/proc/make_tajaran if (holder.level >= 4)//Badmin******************************************************************** verbs += /obj/admins/proc/adrev //toggle admin revives verbs += /obj/admins/proc/adspawn //toggle admin item spawning verbs += /client/proc/debug_variables //verbs += /client/proc/cmd_modify_object_variables --Merged with view variables verbs += /client/proc/cmd_modify_ticker_variables verbs += /client/proc/Debug2 //debug toggle switch verbs += /client/proc/toggle_view_range verbs += /client/proc/Getmob verbs += /client/proc/Getkey verbs += /client/proc/sendmob verbs += /client/proc/Jump verbs += /client/proc/jumptokey verbs += /client/proc/jumptomob verbs += /client/proc/jumptoturf verbs += /client/proc/cmd_admin_add_freeform_ai_law verbs += /client/proc/cmd_admin_add_random_ai_law //verbs += /client/proc/cmd_admin_godmode --now in view variables verbs += /client/proc/cmd_admin_rejuvenate //verbs += /client/proc/cmd_admin_gib --View vars menu verbs += /client/proc/cmd_admin_delete //verbs += /proc/togglebuildmode --now in view vars verbs += /client/proc/toggleadminhelpsound verbs += /client/proc/togglebuildmodeself verbs += /client/proc/hide_most_verbs verbs += /client/proc/tension_report if (holder.level >= 3)//Trial Admin******************************************************************** verbs += /obj/admins/proc/toggleaban //abandon mob verbs += /client/proc/cmd_admin_remove_plasma verbs += /client/proc/admin_call_shuttle verbs += /client/proc/admin_cancel_shuttle verbs += /client/proc/admin_deny_shuttle verbs += /obj/admins/proc/show_traitor_panel verbs += /client/proc/cmd_admin_dress verbs += /client/proc/cmd_admin_christmas verbs += /client/proc/respawn_character verbs += /client/proc/spawn_xeno verbs += /proc/possess verbs += /proc/release verbs += /client/proc/toggleprayers verbs += /client/proc/editappear if (holder.level >= 2)//Admin Candidate******************************************************************** verbs += /client/proc/cmd_admin_add_random_ai_law verbs += /client/proc/secrets verbs += /client/proc/play_sound verbs += /client/proc/stealth if (holder.level >= 1)//Temp Admin******************************************************************** //verbs += /client/proc/cmd_admin_attack_log //use view variables verbs += /client/proc/cmd_admin_check_contents verbs += /obj/admins/proc/delay //game start delay verbs += /obj/admins/proc/immreboot //immediate reboot verbs += /obj/admins/proc/restart //restart verbs += /client/proc/cmd_admin_create_centcom_report verbs += /client/proc/toggle_hear_deadcast verbs += /client/proc/toggle_hear_radio verbs += /client/proc/cmd_admin_change_custom_event if (holder.level >= 0)//Mod******************************************************************** verbs += /obj/admins/proc/toggleAI //Toggle the AI verbs += /obj/admins/proc/toggleenter //Toggle enterting // verbs += /obj/admins/proc/toggleguests //Toggle guests entering verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc verbs += /obj/admins/proc/voteres //toggle votes verbs += /client/proc/deadchat //toggles deadchat verbs += /client/proc/cmd_admin_mute verbs += /client/proc/cmd_admin_pm verbs += /client/proc/cmd_admin_subtle_message verbs += /client/proc/warn verbs += /obj/admins/proc/announce verbs += /obj/admins/proc/startnow verbs += /client/proc/dsay verbs += /client/proc/admin_play verbs += /client/proc/admin_observe verbs += /client/proc/game_panel // verbs += /client/proc/player_panel verbs += /client/proc/player_panel_new verbs += /client/proc/unban_panel verbs += /client/proc/jobbans verbs += /client/proc/playernotes verbs += /obj/admins/proc/show_skills verbs += /obj/admins/proc/vmode verbs += /obj/admins/proc/votekill verbs += /client/proc/voting verbs += /obj/admins/proc/show_player_panel //verbs += /client/proc/cmd_admin_prison --in player panel //verbs += /obj/admins/proc/unprison --in player panel verbs += /client/proc/hide_verbs verbs += /client/proc/general_report verbs += /client/proc/air_report if (holder.level >= -1)//Admin Observer verbs += /client/proc/cmd_admin_say verbs += /client/proc/cmd_admin_gib_self if (holder.level == -3)//Retired Admin, skips banned verbs += /client/proc/cmd_admin_say /client/proc/clear_admin_verbs() deadchat = 0 verbs -= /client/proc/hide_verbs verbs -= /client/proc/hide_most_verbs verbs -= /client/proc/show_verbs verbs -= /client/proc/colorooc verbs -= /obj/admins/proc/toggle_aliens //toggle aliens verbs -= /obj/admins/proc/toggle_space_ninja //toggle ninjas verbs -= /obj/admins/proc/adjump verbs -= /client/proc/triple_ai verbs -= /client/proc/get_admin_state verbs -= /client/proc/reload_admins verbs -= /client/proc/kill_air verbs -= /client/proc/cmd_debug_make_powernets verbs -= /client/proc/object_talk verbs -= /client/proc/strike_team verbs -= /obj/admins/proc/view_txt_log //verbs -= /client/proc/cmd_mass_modify_object_variables --Merged with view variables verbs -= /client/proc/cmd_admin_list_open_jobs verbs -= /client/proc/cmd_admin_direct_narrate verbs -= /client/proc/cmd_admin_world_narrate verbs -= /client/proc/callproc verbs -= /client/proc/Cell verbs -= /client/proc/cmd_debug_del_all verbs -= /client/proc/cmd_debug_tog_aliens verbs -= /client/proc/ticklag verbs -= /client/proc/mapload verbs -= /obj/admins/proc/spawn_atom verbs -= /client/proc/check_words verbs -= /client/proc/drop_bomb //verbs -= /client/proc/give_spell --moved to view variables //verbs -= /client/proc/cmd_admin_ninjafy --now in view vars verbs -= /client/proc/cmd_admin_grantfullaccess //verbs -= /client/proc/cmd_admin_explosion --now in view vars //verbs -= /client/proc/cmd_admin_emp --now in view vars verbs -= /client/proc/cmd_admin_drop_everything verbs -= /client/proc/make_sound verbs -= /client/proc/only_one verbs -= /client/proc/send_space_ninja verbs -= /obj/admins/proc/adrev //toggle admin revives verbs -= /obj/admins/proc/adspawn //toggle admin item spawning verbs -= /obj/admins/proc/toggleaban //abandon mob verbs -= /client/proc/debug_variables //verbs -= /client/proc/cmd_modify_object_variables --merged with view variables verbs -= /client/proc/cmd_modify_ticker_variables verbs -= /client/proc/Debug2 //debug toggle switch verbs -= /client/proc/toggle_view_range verbs -= /client/proc/Getmob verbs -= /client/proc/Getkey verbs -= /client/proc/sendmob verbs -= /client/proc/Jump verbs -= /client/proc/jumptokey verbs -= /client/proc/jumptomob verbs -= /client/proc/jumptoturf verbs -= /client/proc/cmd_admin_add_freeform_ai_law verbs -= /client/proc/cmd_admin_add_random_ai_law //verbs -= /client/proc/cmd_admin_godmode --now in view variables verbs -= /client/proc/cmd_admin_rejuvenate //verbs -= /client/proc/cmd_admin_gib --view vars menu verbs -= /client/proc/cmd_admin_delete //verbs -= /proc/togglebuildmode --now in view vars verbs -= /client/proc/toggleadminhelpsound verbs -= /client/proc/togglebuildmodeself verbs -= /client/proc/cmd_admin_remove_plasma verbs -= /client/proc/admin_call_shuttle verbs -= /client/proc/admin_cancel_shuttle verbs -= /client/proc/admin_deny_shuttle verbs -= /obj/admins/proc/show_traitor_panel verbs -= /client/proc/cmd_admin_dress verbs -= /client/proc/cmd_admin_christmas verbs -= /client/proc/respawn_character verbs -= /client/proc/spawn_xeno verbs -= /proc/possess verbs -= /proc/release verbs -= /client/proc/cmd_admin_add_random_ai_law verbs -= /client/proc/secrets verbs -= /client/proc/play_sound verbs -= /client/proc/stealth //verbs -= /client/proc/cmd_admin_attack_log //use view variables verbs -= /client/proc/cmd_admin_check_contents verbs -= /obj/admins/proc/delay //game start delay verbs -= /obj/admins/proc/immreboot //immediate reboot verbs -= /obj/admins/proc/restart //restart verbs -= /client/proc/cmd_admin_create_centcom_report verbs -= /obj/admins/proc/toggleAI //Toggle the AI verbs -= /obj/admins/proc/toggleenter //Toggle enterting // verbs -= /obj/admins/proc/toggleguests //Toggle guests entering verbs -= /obj/admins/proc/toggleooc //toggle ooc verbs -= /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc verbs -= /obj/admins/proc/voteres //toggle votes verbs -= /client/proc/deadchat //toggles deadchat verbs -= /client/proc/cmd_admin_mute verbs -= /client/proc/cmd_admin_pm verbs -= /client/proc/cmd_admin_say verbs -= /client/proc/cmd_admin_subtle_message verbs -= /client/proc/warn verbs -= /obj/admins/proc/announce verbs -= /obj/admins/proc/startnow verbs -= /client/proc/dsay verbs -= /client/proc/admin_play verbs -= /client/proc/admin_observe verbs -= /client/proc/game_panel // verbs -= /client/proc/player_panel verbs -= /client/proc/player_panel_new verbs -= /client/proc/unban_panel verbs -= /client/proc/jobbans verbs -= /client/proc/playernotes verbs -= /obj/admins/proc/show_skills verbs -= /obj/admins/proc/vmode verbs -= /obj/admins/proc/votekill verbs -= /client/proc/voting verbs -= /obj/admins/proc/show_player_panel //verbs -= /client/proc/cmd_admin_prison --in player panel //verbs -= /obj/admins/proc/unprison --in player panel verbs -= /client/proc/hide_verbs verbs -= /client/proc/general_report verbs -= /client/proc/air_report verbs -= /client/proc/cmd_admin_say verbs -= /client/proc/cmd_admin_gib_self verbs -= /client/proc/restartcontroller verbs -= /client/proc/play_local_sound verbs -= /client/proc/enable_mapping_debug verbs -= /client/proc/toggleprayers verbs -= /client/proc/editappear verbs -= /client/proc/jump_to_dead_group verbs -= /client/proc/Blobize verbs -= /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested) verbs -= /client/proc/toggle_hear_deadcast verbs -= /client/proc/toggle_hear_radio verbs -= /client/proc/tension_report verbs -= /client/proc/cmd_admin_change_custom_event verbs -= /client/proc/admin_invis verbs -= /client/proc/callprocgen verbs -= /client/proc/callprocobj verbs -= /client/proc/cmd_admin_godmode verbs -= /client/proc/delbook verbs -= /client/proc/Force_Event_admin verbs -= /client/proc/radioalert verbs -= /client/proc/cmd_debug_prints verbs -= /client/proc/cmd_debug_blood verbs -= /client/proc/rnd_check_designs verbs -= /client/proc/make_tajaran return /client/proc/admin_observe() set category = "Admin" set name = "Set Observe" if(!holder) alert("You are not an admin") return verbs -= /client/proc/admin_play spawn( 1200 ) verbs += /client/proc/admin_play var/rank = holder.rank clear_admin_verbs() holder.state = 2 update_admins(rank) if(!istype(mob, /mob/dead/observer)) mob.admin_observing = 1 mob.adminghostize(1) src << "\blue You are now observing" /client/proc/admin_play() set category = "Admin" set name = "Set Play" if(!holder) alert("You are not an admin") return verbs -= /client/proc/admin_observe spawn( 1200 ) verbs += /client/proc/admin_observe var/rank = holder.rank clear_admin_verbs() holder.state = 1 update_admins(rank) if(istype(mob, /mob/dead/observer)) mob:reenter_corpse() src << "\blue You are now playing" /client/proc/get_admin_state() set name = "Get Admin State" set category = "Debug" for(var/mob/M in world) if(M.client && M.client.holder) if(M.client.holder.state == 1) src << "[M.key] is playing - [M.client.holder.state]" else if(M.client.holder.state == 2) src << "[M.key] is observing - [M.client.holder.state]" else src << "[M.key] is undefined - [M.client.holder.state]" ///client/proc/player_panel() // set name = "Player Panel-Old" // set category = "Admin" // if(holder) // holder.player_panel_old() // return /client/proc/player_panel_new() set name = "Player Panel" set category = "Admin" if(holder) holder.player_panel_new() return /client/proc/jobbans() set name = "Unjobban Panel" set category = "Admin" if(holder) holder.Jobbans() return /client/proc/playernotes() set name = "Show Player Info" set category = "Admin" if(holder) holder.PlayerNotes() return /client/proc/unban_panel() set name = "Unban Panel" set category = "Admin" if (holder) holder.unbanpanel() return /client/proc/game_panel() set name = "Game Panel" set category = "Admin" if (holder) holder.Game() return /client/proc/secrets() set name = "Secrets" set category = "Admin" if (holder) holder.Secrets() return /client/proc/voting() set name = "Voting" set category = "Admin" if (holder) holder.Voting() /client/proc/colorooc() set category = "Fun" set name = "OOC Text Color" ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color return /client/proc/stealth() set category = "Admin" set name = "Stealth Mode" if(!holder) src << "Only administrators may use this command." return stealth = !stealth if(stealth) var/new_key = trim(input("Enter your desired display name.", "Fake Key", key)) if(!new_key) stealth = 0 return new_key = strip_html(new_key) if(length(new_key) >= 26) new_key = copytext(new_key, 1, 26) fakekey = new_key else fakekey = null log_admin("[key_name(usr)] has turned stealth mode [stealth ? "ON" : "OFF"]") message_admins("[key_name_admin(usr)] has turned stealth mode [stealth ? "ON" : "OFF"]", 1) #define AUTOBANTIME 10 /client/proc/warn(var/mob/M in world) set category = "Special Verbs" set name = "Warn" // If you've edited AUTOBANTIME, change the below desc. set desc = "Warn a player. If player is already warned, they will be autobanned for 10 minutes." if(!holder) src << "Only administrators may use this command." return if(M.client && M.client.holder && (M.client.holder.level >= holder.level)) alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null) return if(!M.client.warned) M << "\red You have been warned by an administrator. This is the only warning you will recieve." M.client.warned = 1 message_admins("\blue [ckey] warned [M.ckey].") else AddBan(M.ckey, M.computer_id, "Autobanning due to previous warn", ckey, 1, AUTOBANTIME) M << "\redYou have been autobanned by [ckey]. This is what we in the biz like to call a \"second warning\"." M << "\red This is a temporary ban; it will automatically be removed in [AUTOBANTIME] minutes." log_admin("[ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") ban_unban_log_save("[ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") message_admins("\blue [ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") feedback_inc("ban_warn",1) del(M.client) /client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE set category = "Special Verbs" set name = "Drop Bomb" set desc = "Cause an explosion of varying strength at your location." var/turf/epicenter = mob.loc var/list/choices = list("Small Bomb", "Medium Bomb", "Big Bomb", "Custom Bomb") var/choice = input("What size explosion would you like to produce?") in choices switch(choice) if(null) return 0 if("Small Bomb") explosion(epicenter, 1, 2, 3, 3) if("Medium Bomb") explosion(epicenter, 2, 3, 4, 4) if("Big Bomb") explosion(epicenter, 3, 5, 7, 5) if("Custom Bomb") var/devastation_range = input("Devastation range (in tiles):") as num var/heavy_impact_range = input("Heavy impact range (in tiles):") as num var/light_impact_range = input("Light impact range (in tiles):") as num var/flash_range = input("Flash range (in tiles):") as num explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range) message_admins("\blue [ckey] creating an admin explosion at [epicenter.loc].") /client/proc/give_spell(mob/T as mob in world) // -- Urist set category = "Fun" set name = "Give Spell" set desc = "Gives a spell to a mob." var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in spells if(!S) return T.spell_list += new S /client/proc/make_sound(var/obj/O in world) // -- TLE set category = "Special Verbs" set name = "Make Sound" set desc = "Display a message to everyone who can hear the target" if(O) var/message = input("What do you want the message to be?", "Make Sound") as text|null if(!message) return for (var/mob/V in hearers(O)) V.show_message(message, 2) /client/proc/togglebuildmodeself() set name = "Toggle Build Mode Self" set category = "Special Verbs" if(src.mob) togglebuildmode(src.mob) /client/proc/toggleadminhelpsound() set name = "Toggle Adminhelp Sound" set category = "Admin" sound_adminhelp = !sound_adminhelp if(sound_adminhelp) usr << "You will now hear a sound when adminhelps arrive" else usr << "You will no longer hear a sound when adminhelps arrive" /client/proc/object_talk(var/msg as text) // -- TLE set category = "Special Verbs" set name = "oSay" set desc = "Display a message to everyone who can hear the target" if(mob.control_object) if(!msg) return for (var/mob/V in hearers(mob.control_object)) V.show_message("[mob.control_object.name] says: \"" + msg + "\"", 2) /client/proc/kill_air() // -- TLE set category = "Debug" set name = "Kill Air" set desc = "Toggle Air Processing" if(kill_air) kill_air = 0 usr << "Enabled air processing." else kill_air = 1 usr << "Disabled air processing." /client/proc/show_verbs() set name = "Toggle admin verb visibility" set category = "Admin" src << "Restoring admin verbs back" var/temp = deadchat clear_admin_verbs() update_admins(holder.rank) deadchat = temp /client/proc/toggle_clickproc() //TODO ERRORAGE (This is a temporary verb here while I test the new clicking proc) set name = "Toggle NewClickProc" set category = "Admin" if(!holder) return using_new_click_proc = !using_new_click_proc world << "Testing of new click proc [using_new_click_proc ? "enabled" : "disabled"]" /client/proc/toggle_hear_deadcast() set name = "Toggle Hear Deadcast" set category = "Admin" if(!holder) return STFU_ghosts = !STFU_ghosts usr << "You will now [STFU_ghosts ? "hear" : "not hear"] ghosts" /client/proc/toggle_hear_radio() set name = "Toggle Hear Radio" set category = "Admin" if(!holder) return STFU_radio = !STFU_radio usr << "You will now [STFU_radio ? "hear" : "not hear"] radio chatter from nearby radios or speakers" /client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs set name = "Toggle most admin verb visibility" set category = "Admin" src << "Hiding most admin verbs" var/temp = deadchat clear_admin_verbs() deadchat = temp verbs -= /client/proc/hide_verbs verbs -= /client/proc/hide_most_verbs verbs += /client/proc/show_verbs if(holder.level >= 6)//Game Master******************************************************************** verbs += /client/proc/colorooc if(holder.level >= 4)//Badmin******************************************************************** verbs += /client/proc/debug_variables //verbs += /client/proc/cmd_modify_object_variables --merged with view vairiables verbs += /client/proc/Jump verbs += /client/proc/jumptoturf verbs += /client/proc/togglebuildmodeself verbs += /client/proc/dsay verbs += /client/proc/admin_play verbs += /client/proc/admin_observe verbs += /client/proc/game_panel // verbs += /client/proc/player_panel verbs += /client/proc/cmd_admin_subtle_message verbs += /client/proc/cmd_admin_pm verbs += /client/proc/cmd_admin_gib_self verbs += /client/proc/admin_invis verbs += /client/proc/deadchat //toggles deadchat verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /client/proc/cmd_admin_say//asay verbs += /client/proc/toggleadminhelpsound return /client/proc/hide_verbs() set name = "Toggle admin verb visibility" set category = "Admin" src << "Hiding almost all admin verbs" var/temp = deadchat clear_admin_verbs() deadchat = temp verbs -= /client/proc/hide_verbs verbs -= /client/proc/hide_most_verbs verbs += /client/proc/show_verbs verbs += /client/proc/deadchat //toggles deadchat verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /client/proc/cmd_admin_say//asay return /client/proc/admin_invis() set category = "Admin" set name = "Invisibility" if(!src.holder) src << "Only administrators may use this command." return src.admin_invis =! src.admin_invis if(src.mob) var/mob/m = src.mob//probably don't need this cast, but I'm too lazy to check if /client.mob is of type /mob or not m.update_clothing() log_admin("[key_name(usr)] has turned their invisibility [src.admin_invis ? "ON" : "OFF"]") message_admins("[key_name_admin(usr)] has turned their invisibility [src.admin_invis ? "ON" : "OFF"]", 1) /client/proc/cmd_admin_godmode(mob/M as mob in world) set category = "Admin" set name = "Toggle Godmode" if(!src.holder) src << "Only administrators may use this command." return if (M.nodamage == 1) M.nodamage = 0 usr << "\blue Toggled OFF" else M.nodamage = 1 usr << "\blue Toggled ON" log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]") message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]", 1) /client/proc/editappear(mob/living/carbon/human/M as mob in world) set name = "Edit Appearance" set category = "Fun" if(!istype(M, /mob/living/carbon/human)) usr << "\red You can only do this to humans!" return switch(alert("You sure you wish to edit this mob's appearance?",,"Yes","No")) if("No") return if(istype(M,/mob/living/carbon/human/tajaran)) usr << "\red Tajarans do not have an editable appearance... yet!" else var/new_facial = input("Please select facial hair color.", "Character Generation") as color if(new_facial) M.r_facial = hex2num(copytext(new_facial, 2, 4)) M.g_facial = hex2num(copytext(new_facial, 4, 6)) M.b_facial = hex2num(copytext(new_facial, 6, 8)) var/new_hair = input("Please select hair color.", "Character Generation") as color if(new_facial) M.r_hair = hex2num(copytext(new_hair, 2, 4)) M.g_hair = hex2num(copytext(new_hair, 4, 6)) M.b_hair = hex2num(copytext(new_hair, 6, 8)) var/new_eyes = input("Please select eye color.", "Character Generation") as color if(new_eyes) M.r_eyes = hex2num(copytext(new_eyes, 2, 4)) M.g_eyes = hex2num(copytext(new_eyes, 4, 6)) M.b_eyes = hex2num(copytext(new_eyes, 6, 8)) var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text if (new_tone) M.s_tone = max(min(round(text2num(new_tone)), 220), 1) M.s_tone = -M.s_tone + 35 // hair var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair var/list/hairs = list() // loop through potential hairs for(var/x in all_hairs) var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x hairs.Add(H.name) // add hair name to hairs del(H) // delete the hair after it's all done var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs // if new style selected (not cancel) if (new_style) M.h_style = new_style for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly. var/datum/sprite_accessory/hair/H = new x // create new hair datum if(H.name == new_style) M.hair_style = H // assign the hair_style variable a new hair datum break else del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry // facial hair var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair var/list/fhairs = list() for(var/x in all_fhairs) var/datum/sprite_accessory/facial_hair/H = new x fhairs.Add(H.name) del(H) new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs if(new_style) M.f_style = new_style for(var/x in all_fhairs) var/datum/sprite_accessory/facial_hair/H = new x if(H.name == new_style) M.facial_hair_style = H break else del(H) var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female") if (new_gender) if(new_gender == "Male") M.gender = MALE else M.gender = FEMALE M.update_body() M.update_face() M.update_clothing() M.check_dna(M) /client/proc/radioalert() set category = "Fun" set name = "Create Radio Alert" var/message = input("Choose a message! (Don't forget the \"says, \" or similar at the start.)", "Message") as text|null var/from = input("From whom? (Who's saying this?)", "From") as text|null if(message && from) var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null) a.autosay(message,from) del(a)