From 464cfd49f7bf182019615ecf82278a15913e1971 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 18:39:36 +0100 Subject: [PATCH 01/23] TG: - toggle-hear-radio and toggle-hear-deadcast now properly say whether you will or won't hear the two communication types when toggling them. - added a de-admin-self verb for admins. This exists so admins can play games without having to deal with 2nd accounts and such. It removes all the verbs and deletes the 'holder' object, so admins lose all their verbs, asay, adminhelp/prayer hearing, everything. They are exactly the same as normal players. To return to being an admin someone has to promote you back. The effects of de-admin-self are only for the current round. Coders, when adding new admin verbs, don't forget to also add their removal into /client/proc/clear_admin_verbs() Added jumptocoord, everyone_random and cmd_switch_radio to the proc, so hiding admin verbs works more properly. Revision: r3080 Author: baloh.matevz --- code/modules/admin/admin_verbs.dm | 516 +++++++++++++++++------------- 1 file changed, 290 insertions(+), 226 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 5d9aa9f5d9f..f5092a41e88 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -8,8 +8,7 @@ // 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 + // Mapping helpers added via enable_debug_verbs verb // verbs += /client/proc/do_not_use_these // verbs += /client/proc/camera_view // verbs += /client/proc/sec_camera_report @@ -44,34 +43,27 @@ 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 verbs += /client/proc/toggleadminhelpsound - // Admin helpers verbs += /client/proc/toggle_view_range - // Admin game intrusion verbs += /client/proc/Getmob verbs += /client/proc/Getkey @@ -84,36 +76,32 @@ verbs += /client/proc/cmd_admin_add_freeform_ai_law verbs += /client/proc/cmd_admin_rejuvenate verbs += /client/proc/cmd_admin_drop_everything - + //verbs += /client/proc/cmd_modify_object_variables --Merged with view variables 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 + 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 - + //verbs += /client/proc/cmd_admin_attack_log --Merged with view variables if ("Temporary Admin") holder.level = 1 - if ("Moderator") holder.level = 0 - if ("Admin Observer") holder.level = -1 - if ("Banned") holder.level = -2 del(src) @@ -126,139 +114,33 @@ del(holder) return - if (holder)//Slightly easier to edit way of granting powers + if (holder) //THE BELOW handles granting powers. The above is for special cases only! 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/rnd_check_designs - verbs += /client/proc/CarbonCopy - verbs += /client/proc/getruntimelog //used by coders to retrieve runtime logs - if (holder.level >= 5)//Game Admin******************************************************************** - verbs += /obj/admins/proc/view_txt_log - verbs += /obj/admins/proc/view_atk_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) - verbs += /client/proc/toggle_gravity_on - verbs += /client/proc/toggle_gravity_off - verbs += /client/proc/toggle_random_events - // 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 - verbs += /client/proc/CarbonCopy + //Retired Admin, skips banned + if (holder.level == -3) + verbs += /client/proc/cmd_admin_say + else return - 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 - verbs += /client/proc/jumptocoord + //Admin Observer + if (holder.level >= -1) + verbs += /client/proc/cmd_admin_say + verbs += /client/proc/cmd_admin_gib_self + verbs += /client/proc/deadmin_self + else return - 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 + //Moderator + if (holder.level >= 0) + 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 += /obj/admins/proc/vmode + verbs += /obj/admins/proc/votekill + verbs += /obj/admins/proc/show_player_panel + 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 @@ -274,36 +156,189 @@ 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/deadmin_self + //verbs += /client/proc/cmd_admin_prison --Merged with player panel + //verbs += /obj/admins/proc/unprison --Merged with player panel + verbs += /obj/admins/proc/show_skills + else return + //Temporary Admin + if (holder.level >= 1) + 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_check_contents + verbs += /client/proc/cmd_admin_create_centcom_report + verbs += /client/proc/toggle_hear_deadcast + verbs += /client/proc/toggle_hear_radio + verbs += /client/proc/deadmin_self + //verbs += /client/proc/cmd_admin_attack_log --Merged with view variables + verbs += /client/proc/cmd_admin_change_custom_event + else return - if (holder.level >= -1)//Admin Observer - verbs += /client/proc/cmd_admin_say - verbs += /client/proc/cmd_admin_gib_self + //Admin Candidate + if (holder.level >= 2) + 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/deadmin_self + else return - if (holder.level == -3)//Retired Admin, skips banned - verbs += /client/proc/cmd_admin_say + //Trial Admin + if (holder.level >= 3) + verbs += /obj/admins/proc/toggleaban //abandon mob + verbs += /obj/admins/proc/show_traitor_panel + verbs += /client/proc/cmd_admin_remove_plasma + verbs += /client/proc/admin_call_shuttle + verbs += /client/proc/admin_cancel_shuttle + verbs += /client/proc/cmd_admin_dress + verbs += /client/proc/respawn_character + verbs += /client/proc/spawn_xeno + verbs += /client/proc/toggleprayers + verbs += /client/proc/deadmin_self + verbs += /proc/possess + verbs += /proc/release + verbs += /client/proc/admin_deny_shuttle + verbs += /client/proc/cmd_admin_christmas + verbs += /client/proc/editappear + else return + + //Badmin + if (holder.level >= 4) + 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_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_delete + verbs += /client/proc/cmd_admin_add_freeform_ai_law + verbs += /client/proc/cmd_admin_add_random_ai_law + verbs += /client/proc/cmd_admin_rejuvenate + verbs += /client/proc/hide_most_verbs + verbs += /client/proc/jumptocoord + verbs += /client/proc/deadmin_self + //verbs += /client/proc/cmd_admin_godmode --Merged with view variables + //verbs += /client/proc/cmd_admin_gib --Merged with view variables + //verbs += /proc/togglebuildmode --Merged with view variables + //verbs += /client/proc/cmd_modify_object_variables --Merged with view variables + verbs += /client/proc/togglebuildmodeself + verbs += /client/proc/tension_report + verbs += /client/proc/toggleadminhelpsound + else return + + //Game Admin + if (holder.level >= 5) + verbs += /obj/admins/proc/spawn_atom + verbs += /obj/admins/proc/view_txt_log + verbs += /obj/admins/proc/view_atk_log + verbs += /client/proc/cmd_admin_list_open_jobs + verbs += /client/proc/cmd_admin_direct_narrate + verbs += /client/proc/colorooc + 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 += /client/proc/check_words + verbs += /client/proc/drop_bomb + verbs += /client/proc/cmd_admin_grantfullaccess + 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 new clickproc is being tested) + verbs += /client/proc/toggle_gravity_on + verbs += /client/proc/toggle_gravity_off + verbs += /client/proc/toggle_random_events + verbs += /client/proc/deadmin_self + //verbs += /client/proc/cmd_mass_modify_object_variables --Merged with view variables + //verbs += /client/proc/cmd_admin_explosion --Merged with view variables + //verbs += /client/proc/cmd_admin_emp --Merged with view variables + //verbs += /client/proc/give_spell --Merged with view variables + //verbs += /client/proc/cmd_admin_ninjafy --Merged with view variables + // Moved over from tg's Game Master: + 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 + verbs += /client/proc/CarbonCopy + verbs += /client/proc/jump_to_dead_group + else return + + //Game Master + if (holder.level >= 6) + verbs += /obj/admins/proc/adjump + verbs += /client/proc/callproc + verbs += /client/proc/get_admin_state + verbs += /client/proc/reload_admins + verbs += /client/proc/cmd_debug_make_powernets + verbs += /client/proc/everyone_random + verbs += /client/proc/only_one + verbs += /client/proc/deadmin_self + verbs += /client/proc/getruntimelog //used by coders to retrieve runtime logs + verbs += /client/proc/enable_mapping_debug + verbs += /client/proc/kill_air + verbs += /client/proc/callprocgen + verbs += /client/proc/callprocobj + verbs += /client/proc/rnd_check_designs + verbs += /client/proc/CarbonCopy + else return + return /client/proc/clear_admin_verbs() deadchat = 0 + verbs -= /obj/admins/proc/vmode + verbs -= /obj/admins/proc/votekill + verbs -= /obj/admins/proc/announce + verbs -= /obj/admins/proc/startnow + 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 -= /obj/admins/proc/delay //game start delay + verbs -= /obj/admins/proc/immreboot //immediate reboot + verbs -= /obj/admins/proc/restart //restart + verbs -= /obj/admins/proc/show_traitor_panel + verbs -= /obj/admins/proc/show_player_panel + verbs -= /obj/admins/proc/toggle_aliens //toggle aliens + verbs -= /obj/admins/proc/toggle_space_ninja //toggle ninjas + verbs -= /obj/admins/proc/adjump + verbs -= /obj/admins/proc/view_txt_log + verbs -= /obj/admins/proc/view_atk_log + verbs -= /obj/admins/proc/spawn_atom + 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/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 @@ -311,8 +346,6 @@ 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 @@ -322,25 +355,16 @@ 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/Debug2 //debug toggle switch verbs -= /client/proc/toggle_view_range verbs -= /client/proc/Getmob verbs -= /client/proc/Getkey @@ -351,64 +375,35 @@ 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/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 @@ -416,18 +411,19 @@ 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_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/player_panel_new verbs -= /client/proc/toggle_gravity_on verbs -= /client/proc/toggle_gravity_off verbs -= /client/proc/toggle_random_events + verbs -= /client/proc/deadmin_self + verbs -= /client/proc/jumptocoord + verbs -= /client/proc/everyone_random verbs -= /client/proc/cmd_admin_change_custom_event verbs -= /client/proc/admin_invis verbs -= /client/proc/callprocgen @@ -440,6 +436,29 @@ verbs -= /client/proc/make_tajaran verbs -= /client/proc/CarbonCopy verbs -= /client/proc/getruntimelog //used by coders to retrieve runtime logs + verbs -= /proc/possess + verbs -= /proc/release + //verbs -= /client/proc/give_spell --Merged with view variables + //verbs -= /client/proc/cmd_admin_ninjafy --Merged with view variables + //verbs -= /client/proc/cmd_modify_object_variables --Merged with view variables + //verbs -= /client/proc/cmd_admin_explosion --Merged with view variables + //verbs -= /client/proc/cmd_admin_emp --Merged with view variables + //verbs -= /client/proc/cmd_admin_godmode --Merged with view variables + //verbs -= /client/proc/cmd_admin_gib --Merged with view variables + //verbs -= /client/proc/cmd_mass_modify_object_variables --Merged with view variables + //verbs -= /client/proc/cmd_admin_attack_log --Merged with view variables + //verbs -= /proc/togglebuildmode --Merged with view variables + //verbs -= /client/proc/cmd_admin_prison --Merged with player panel + //verbs -= /obj/admins/proc/unprison --Merged with player panel + //verbs -= /client/proc/cmd_switch_radio --removed because tcommsat is staying + verbs -= /client/proc/togglebuildmodeself + verbs -= /client/proc/admin_deny_shuttle + verbs -= /client/proc/cmd_admin_christmas + verbs -= /client/proc/editappear + verbs -= /client/proc/jump_to_dead_group + verbs -= /client/proc/playernotes + verbs -= /obj/admins/proc/show_skills + verbs -= /client/proc/enable_mapping_debug return @@ -461,6 +480,7 @@ mob.admin_observing = 1 mob.adminghostize(1) src << "\blue You are now observing" +// feedback_add_details("admin_verb","O") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/admin_play() set category = "Admin" @@ -478,6 +498,7 @@ if(istype(mob, /mob/dead/observer)) mob:reenter_corpse() src << "\blue You are now playing" +// feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/get_admin_state() set name = "Get Admin State" @@ -490,20 +511,24 @@ src << "[M.key] is observing - [M.client.holder.state]" else src << "[M.key] is undefined - [M.client.holder.state]" +// feedback_add_details("admin_verb","GAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -///client/proc/player_panel() -// set name = "Player Panel-Old" -// set category = "Admin" -// if(holder) -// holder.player_panel_old() -// return - +/* +/client/proc/player_panel() + set name = "Player Panel-Old" + set category = "Admin" + if(holder) + holder.player_panel_old() +// feedback_add_details("admin_verb","PP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return +*/ /client/proc/player_panel_new() set name = "Player Panel" set category = "Admin" if(holder) holder.player_panel_new() +// feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/jobbans() @@ -511,27 +536,23 @@ set category = "Admin" if(holder) holder.Jobbans() - return - -/client/proc/playernotes() - set name = "Show Player Info" - set category = "Admin" - if(holder) - holder.PlayerNotes() +// feedback_add_details("admin_verb","VJB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/unban_panel() set name = "Unban Panel" set category = "Admin" - if (holder) + if(holder) holder.unbanpanel() +// feedback_add_details("admin_verb","UBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/game_panel() set name = "Game Panel" set category = "Admin" - if (holder) + if(holder) holder.Game() +// feedback_add_details("admin_verb","GP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/secrets() @@ -539,6 +560,7 @@ set category = "Admin" if (holder) holder.Secrets() +// feedback_add_details("admin_verb","S") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/voting() @@ -546,11 +568,13 @@ set category = "Admin" if (holder) holder.Voting() +// feedback_add_details("admin_verb","VO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/colorooc() set category = "Fun" set name = "OOC Text Color" ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color +// feedback_add_details("admin_verb","OC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/stealth() @@ -573,6 +597,14 @@ 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) +// feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/playernotes() + set name = "Show Player Info" + set category = "Admin" + if(holder) + holder.PlayerNotes() + return #define AUTOBANTIME 10 /client/proc/warn(var/mob/M in world) @@ -600,6 +632,7 @@ feedback_inc("ban_warn",1) del(M.client) +// feedback_add_details("admin_verb","WARN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE @@ -626,6 +659,7 @@ 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].") +// feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/give_spell(mob/T as mob in world) // -- Urist set category = "Fun" @@ -634,6 +668,7 @@ 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 +// feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/make_sound(var/obj/O in world) // -- TLE set category = "Special Verbs" @@ -645,12 +680,16 @@ return for (var/mob/V in hearers(O)) V.show_message(message, 2) +// feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/togglebuildmodeself() set name = "Toggle Build Mode Self" set category = "Special Verbs" if(src.mob) togglebuildmode(src.mob) +// feedback_add_details("admin_verb","TBMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/toggleadminhelpsound() set name = "Toggle Adminhelp Sound" @@ -660,6 +699,7 @@ usr << "You will now hear a sound when adminhelps arrive" else usr << "You will no longer hear a sound when adminhelps arrive" +// feedback_add_details("admin_verb","AHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/object_talk(var/msg as text) // -- TLE set category = "Special Verbs" @@ -670,6 +710,7 @@ return for (var/mob/V in hearers(mob.control_object)) V.show_message("[mob.control_object.name] says: \"" + msg + "\"", 2) +// feedback_add_details("admin_verb","OT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/kill_air() // -- TLE set category = "Debug" @@ -681,6 +722,7 @@ else kill_air = 1 usr << "Disabled air processing." +// feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/show_verbs() set name = "Toggle admin verb visibility" @@ -691,14 +733,16 @@ clear_admin_verbs() update_admins(holder.rank) deadchat = temp +// feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /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" + set category = "Debug" if(!holder) return using_new_click_proc = !using_new_click_proc world << "Testing of new click proc [using_new_click_proc ? "enabled" : "disabled"]" +// feedback_add_details("admin_verb","TNCP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_hear_deadcast() set name = "Toggle Hear Deadcast" @@ -706,7 +750,8 @@ if(!holder) return STFU_ghosts = !STFU_ghosts - usr << "You will now [STFU_ghosts ? "hear" : "not hear"] ghosts" + usr << "You will now [STFU_ghosts ? "not hear" : "hear"] ghosts" +// feedback_add_details("admin_verb","THDC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_hear_radio() set name = "Toggle Hear Radio" @@ -714,7 +759,24 @@ if(!holder) return STFU_radio = !STFU_radio - usr << "You will now [STFU_radio ? "hear" : "not hear"] radio chatter from nearby radios or speakers" + usr << "You will now [STFU_radio ? "not hear" : "hear"] radio chatter from nearby radios or speakers" +// feedback_add_details("admin_verb","THR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/deadmin_self() + set name = "De-admin self" + set category = "Admin" + + if(src.holder) + if(alert("Confirm self-deadmin for the round? You can't re-admin yourself without someont promoting you.",,"Yes","No") == "Yes") + del(holder) + log_admin("[src] deadmined themself.") + message_admins("[src] deadmined themself.", 1) + src.clear_admin_verbs() + src.update_admins(null) + admins.Remove(src.ckey) + usr << "You are now a normal player." +// feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs set name = "Toggle most admin verb visibility" @@ -728,7 +790,7 @@ verbs -= /client/proc/hide_most_verbs verbs += /client/proc/show_verbs - if(holder.level >= 6)//Game Master******************************************************************** + if(holder.level >= 5)//Game Admin******************************************************************** verbs += /client/proc/colorooc if(holder.level >= 4)//Badmin******************************************************************** @@ -752,6 +814,7 @@ verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /client/proc/cmd_admin_say//asay verbs += /client/proc/toggleadminhelpsound +// feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return @@ -770,6 +833,7 @@ verbs += /client/proc/deadchat //toggles deadchat verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /client/proc/cmd_admin_say//asay +// feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/admin_invis() From bc02dbff87eee2386aa2ba56e9054c63c0982039 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:22:02 +0100 Subject: [PATCH 02/23] TG: - Moved three (well two, one was doubled for some reason) screen/attackby() procs to appear AFTER the screen object is defined. They were in a random file instead of where the objects are. If you double-click and 'screen' object in the object browser it now takes you to the definition instead of some random file. - Clicking a grille with a glass or r-glass sheet in your hand, when the grille is in one of your cardinal directions (North, south, east or west) will make you start building a window. It takes 2s to build the window, which spawns unfastened (same as when you create one.) This should make fixing damaged grille-window combinations easier. If you are standing on a grille and click it with a glass / r-glass sheet in your hand, the window will face the direction you're currently facing. Screenshot: http://www.kamletos.si/placing%20windows%20on%20grilles.PNG Revision: r3081 Author: baloh.matevz --- code/game/objects/grille.dm | 43 ++++++++++++++++++++++ code/game/objects/items.dm | 5 --- code/game/objects/secstorage/secstorage.dm | 7 +--- code/game/objects/storage/storage.dm | 3 -- code/game/objects/window.dm | 2 + code/modules/mob/screen.dm | 9 +++++ 6 files changed, 56 insertions(+), 13 deletions(-) diff --git a/code/game/objects/grille.dm b/code/game/objects/grille.dm index 23a05cf7be3..b584f5ec996 100644 --- a/code/game/objects/grille.dm +++ b/code/game/objects/grille.dm @@ -117,6 +117,49 @@ for(var/mob/O in oviewers()) O << text("\red [user] [src.anchored ? "fastens" : "unfastens"] the grille.") return + else if( istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) ) + var/dir_to_set = 1 + if(src.loc == usr.loc) + dir_to_set = usr.dir + else + if( ( src.x == usr.x ) || (src.y == usr.y) ) //Only supposed to work for cardinal directions. + if( src.x == usr.x ) + if( src.y > usr.y ) + dir_to_set = 2 + else + dir_to_set = 1 + else if( src.y == usr.y ) + if( src.x > usr.x ) + dir_to_set = 8 + else + dir_to_set = 4 + else + usr << "\red You can't reach there.." + return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. + for(var/obj/structure/window/WINDOW in src.loc) + if(WINDOW.dir == dir_to_set) + usr << "\red There is already a window facing this way there." + return + usr << "\blue You start placing the window" + if(do_after(user,20)) + if(!src) return //Grille destroyed while waiting + for(var/obj/structure/window/WINDOW in src.loc) + if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. + usr << "\red There is already a window facing this way there." + return + var/obj/structure/window/WD + if(istype(W,/obj/item/stack/sheet/rglass)) + WD = new/obj/structure/window(src.loc,1) //reinforced window + else + WD = new/obj/structure/window(src.loc,0) //normal window + WD.dir = dir_to_set + WD.ini_dir = dir_to_set + WD.anchored = 0 + WD.state = 0 + var/obj/item/stack/ST = W + ST.use(1) + usr << "\blue You place the [WD] on the [src]" + return else if(istype(W, /obj/item/weapon/shard)) src.health -= W.force * 0.1 else if(!shock(user, 70)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 908418e501d..45c7100ece6 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -253,11 +253,6 @@ del(src) return -/obj/screen/close/DblClick() - if (src.master) - src.master:close(usr) - return - //What the fuck is this code Looks to be the parrying code. If you're grabbing someone, it might hit them instead... or something.--SkyMarshal /mob/attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm index 0193fcb3977..e2d6a2599f8 100644 --- a/code/game/objects/secstorage/secstorage.dm +++ b/code/game/objects/secstorage/secstorage.dm @@ -75,6 +75,7 @@ if (cx > mx) cx = tx cy-- + //Foreach goto(56) src.closer.screen_loc = text("[],[]", mx, my) return @@ -94,7 +95,7 @@ /obj/item/weapon/secstorage/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if ((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (src.locked == 1) && (!src.emagged)) + if ( (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (src.locked == 1) && (!src.emagged)) if(istype(W, /obj/item/weapon/card/emag)) var/obj/item/weapon/card/emag/E = W if(E.uses) @@ -260,7 +261,3 @@ src.orient_objs(7, 8, 10, 7) return return - -/obj/screen/storage/attackby(W, mob/user as mob) - src.master.attackby(W, user) - return diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index a43a1d6e6eb..4a463a51e99 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -244,9 +244,6 @@ O.emp_act(severity) ..() -/obj/screen/storage/attackby(W, mob/user as mob) - src.master.attackby(W, user) - return // BubbleWrap - A box can be folded up to make card /obj/item/weapon/storage/attack_self(mob/user as mob) if ( contents.len ) diff --git a/code/game/objects/window.dm b/code/game/objects/window.dm index e2d53d0c6ae..f1cd181fc4f 100644 --- a/code/game/objects/window.dm +++ b/code/game/objects/window.dm @@ -315,6 +315,8 @@ health = 40 if(opacity) icon_state = "twindow" + else + icon_state = "window" update_nearby_tiles(need_rebuild=1) relativewindow() diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index a2703504458..bdc63af18e5 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -11,6 +11,11 @@ name = "close" master = null +/obj/screen/close/DblClick() + if (src.master) + src.master:close(usr) + return + /obj/screen/grab name = "grab" master = null @@ -19,6 +24,10 @@ name = "storage" master = null +/obj/screen/storage/attackby(W, mob/user as mob) + src.master.attackby(W, user) + return + /obj/screen/zone_sel name = "Damage Zone" icon = 'zone_sel.dmi' From 8a78ec1575a31c624c6debd9dadfb844be29c0a8 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:22:11 +0100 Subject: [PATCH 03/23] Merge fix for adminverbs. --- code/modules/admin/admin_verbs.dm | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index f5092a41e88..3f2b11e04a1 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -39,23 +39,15 @@ 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 @@ -117,16 +109,14 @@ if (holder) //THE BELOW handles granting powers. The above is for special cases only! holder.owner = src - //Retired Admin, skips banned - if (holder.level == -3) - verbs += /client/proc/cmd_admin_say - else return - //Admin Observer if (holder.level >= -1) verbs += /client/proc/cmd_admin_say verbs += /client/proc/cmd_admin_gib_self verbs += /client/proc/deadmin_self + else if (holder.level == -3) // Retired Admin + verbs += /client/proc/cmd_admin_say + return else return //Moderator From b710813ed0a3cba68ee5e4318ada73ca692dd0b5 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:29:03 +0100 Subject: [PATCH 04/23] TG: Crayon boxes are now storage items. I have no idea why they weren't storage items to being with but now they are. 6 storage slots, can only hold crayons. Icon_state is properly updated when crayons are taken out as well as when crayons are put in. Updated uterus and 2.0.8 with the new type path, which is /obj/item/weapon/storage/crayonbox Revision: r3082 Author: baloh.matevz --- code/defines/obj/toy.dm | 8 ++- code/game/machinery/computer/arcade.dm | 2 +- code/game/objects/toys.dm | 69 +++++++++++++++----------- maps/tgstation.2.0.8.dmm | 4 +- 4 files changed, 49 insertions(+), 34 deletions(-) diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 00ac66c93cc..68746bfc60d 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -241,12 +241,16 @@ user.Weaken(5) return -/obj/item/toy/crayonbox +/obj/item/weapon/storage/crayonbox name = "box of crayons" - desc = "A box of crayons for all your drawing needs." + desc = "A box of crayons for all your rune drawing needs." icon = 'crayons.dmi' icon_state = "crayonbox" w_class = 2.0 + storage_slots = 6 + can_hold = list( + "/obj/item/toy/crayon" + ) /obj/item/toy/crayon name = "crayon" diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 083c12c5378..f01c55134a8 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -143,7 +143,7 @@ new /obj/item/clothing/suit/syndicatefake(src.loc) new /obj/item/clothing/head/syndicatefake(src.loc) if(8) - new /obj/item/toy/crayonbox(src.loc) + new /obj/item/weapon/storage/crayonbox(src.loc) if(9) new /obj/item/toy/spinningtoy(src.loc) // if(10) //Commented out on Urist-chan's orders~ diff --git a/code/game/objects/toys.dm b/code/game/objects/toys.dm index 499d0cb1540..1100fa13a1e 100644 --- a/code/game/objects/toys.dm +++ b/code/game/objects/toys.dm @@ -2,7 +2,7 @@ //CONTAINS CRAYONS --------*/ -/obj/item/toy/crayonbox/New() +/obj/item/weapon/storage/crayonbox/New() ..() new /obj/item/toy/crayon/red(src) new /obj/item/toy/crayon/orange(src) @@ -12,13 +12,13 @@ CRAYONS new /obj/item/toy/crayon/purple(src) updateIcon() -/obj/item/toy/crayonbox/proc/updateIcon() +/obj/item/weapon/storage/crayonbox/proc/updateIcon() overlays = list() //resets list overlays += image('crayons.dmi',"crayonbox") for(var/obj/item/toy/crayon/crayon in contents) overlays += image('crayons.dmi',crayon.colourName) -/obj/item/toy/crayonbox/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/weapon/storage/crayonbox/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/toy/crayon)) switch(W:colourName) if("mime") @@ -27,34 +27,37 @@ CRAYONS if("rainbow") usr << "This crayon is too powerful to be contained in this box." return - else - usr << "You add the crayon to the box." - user.drop_item() - W.loc = src - add_fingerprint(user) - updateIcon() - return - else - ..() + ..() + updateIcon() -/obj/item/toy/crayonbox/attack_hand(mob/user as mob) - if(user.r_hand == src || user.l_hand == src) - if(!contents.len) - user << "\red You're out of crayons!" +/obj/item/weapon/storage/crayonbox/attack_hand(mob/user as mob) + updateIcon() + ..() + +/obj/item/weapon/storage/crayonbox/MouseDrop(obj/over_object as obj) + + if (ishuman(usr) || ismonkey(usr)) + var/mob/M = usr + if (!( istype(over_object, /obj/screen) )) + return ..() + if ((!( M.restrained() ) && !( M.stat ))) + if (over_object.name == "r_hand") + if (!( M.r_hand )) + M.u_equip(src) + M.r_hand = src + else + if (over_object.name == "l_hand") + if (!( M.l_hand )) + M.u_equip(src) + M.l_hand = src + M.update_clothing() + src.add_fingerprint(usr) + return + if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) + if (usr.s_active) + usr.s_active.close(usr) + src.show_to(usr) return - else - var/list/crayons = new() - for(var/obj/item/toy/crayon/C in contents) - crayons[C:colourName] = C - var/choice = input(user, "Pick a color:", "Crayon Box") in crayons as text|null - if(choice) - var/obj/crayon = crayons[choice] - user.put_in_hand(crayon) - user << "You take the [crayon:colourName] crayon out of the box." - updateIcon() - else - return ..() - icon_state = "crayonbox[contents.len]" return /obj/item/toy/crayon/red @@ -157,6 +160,14 @@ CRAYONS else ..() +/obj/item/toy/crayon/attack_hand(mob/user as mob) + var/obj/item/weapon/storage/crayonbox/CB + if(istype(src.loc, /obj/item/weapon/storage/crayonbox)) + CB = src.loc + ..() + if(CB) + CB.updateIcon() + /obj/effect/decal/cleanable/crayon name = "rune" desc = "A rune drawn in crayon." diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 064e2442c39..0f703672598 100755 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -873,7 +873,7 @@ "aqO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "carpet"},/area/crew_quarters) "aqP" = (/turf/simulated/floor,/area/crew_quarters) "aqQ" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters) -"aqR" = (/obj/structure/table/woodentable,/obj/item/toy/crayonbox,/turf/simulated/floor,/area/crew_quarters) +"aqR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/crayonbox,/turf/simulated/floor,/area/crew_quarters) "aqS" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/crew_quarters) "aqT" = (/obj/structure/table/woodentable,/obj/item/weapon/rag,/turf/simulated/floor,/area/crew_quarters) "aqU" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"},/turf/simulated/floor,/area/crew_quarters/fitness) @@ -6388,7 +6388,7 @@ "csR" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "csS" = (/obj{anchored = 1; icon = 'shuttle.dmi'; icon_state = "floor"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/escape/centcom) "csT" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"csU" = (/obj/structure/rack,/obj/item/toy/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) +"csU" = (/obj/structure/rack,/obj/item/weapon/storage/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "csV" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "csW" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "crab"; name = "crab"},/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding) "csX" = (/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding) From 8e81af9f5ff83e3cbc0b8f273a8ae1128e976fe9 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:30:13 +0100 Subject: [PATCH 05/23] TG: - Added instructions on how to use the pretty markup to the changelog - Added a few red corner floor pieces to security - Added a Del() proc to blackbox recorders which makes it so a new blackbox recorder gets made when the one is deleted and all the data is copied over, so no data is lost. Same applies when the new one gets deleted. The new blackbox is spawned on z-level 2, so at centcom on the coordinates X,Y,Z = 1,1,2 Revision: r3084 Author: baloh.matevz --- code/modules/research/message_server.dm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index be24897cf11..be79f1aaf4f 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -155,6 +155,28 @@ var/obj/machinery/blackbox_recorder/blackbox del(src) blackbox = src + Del() + var/turf/T = locate(1,1,2) + if(T) + blackbox = null + var/obj/machinery/blackbox_recorder/BR = new/obj/machinery/blackbox_recorder(T) + BR.msg_common = msg_common + BR.msg_science = msg_science + BR.msg_command = msg_command + BR.msg_medical = msg_medical + BR.msg_engineering = msg_engineering + BR.msg_security = msg_security + BR.msg_deathsquad = msg_deathsquad + BR.msg_syndicate = msg_syndicate + BR.msg_mining = msg_mining + BR.msg_cargo = msg_cargo + BR.feedback = feedback + BR.messages = messages + BR.messages_admin = messages_admin + if(blackbox != BR) + blackbox = BR + ..() + proc/find_feedback_datum(var/variable) for(var/datum/feedback_variable/FV in feedback) if(FV.get_variable() == variable) From 70af0b0935af198d7165c339e16bea0f6a267a7d Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:32:29 +0100 Subject: [PATCH 06/23] TG: - Power alarms on z level 1 now update to their proper alert level state when spawned. They now spawn with the green alert level overlay at round start. - Removed the window/north, window/east and the other dir-specific window subclasses - Request console global announcements no longer have the leading space - Wrenching wooden table parts now gives wood instead of metal - Replaced the engineering singularity viewing cameras with EMP proof cameras Revision: r3085 Author: baloh.matevz --- code/defines/obj/machinery.dm | 2 +- code/defines/obj/window.dm | 24 ------------------------ code/game/machinery/requests_console.dm | 4 ++-- 3 files changed, 3 insertions(+), 27 deletions(-) diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index 0d617c0f471..f7bae4ad200 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -43,7 +43,7 @@ /obj/machinery/camera name = "security camera" - desc = "This is used to monitor rooms." + desc = "It's used to monitor rooms." icon = 'monitors.dmi' icon_state = "camera" var/network = "SS13" diff --git a/code/defines/obj/window.dm b/code/defines/obj/window.dm index 62174ece4f3..5b4bdf29698 100644 --- a/code/defines/obj/window.dm +++ b/code/defines/obj/window.dm @@ -23,30 +23,6 @@ /obj/structure/window/basic icon_state = "window" -/obj/structure/window/basic/north - dir = NORTH - -/obj/structure/window/basic/east - dir = EAST - -/obj/structure/window/basic/west - dir = WEST - -/obj/structure/window/basic/south - dir = SOUTH - -/obj/structure/window/basic/northwest - dir = NORTHWEST - -/obj/structure/window/basic/northeast - dir = NORTHEAST - -/obj/structure/window/basic/southwest - dir = SOUTHWEST - -/obj/structure/window/basic/southeast - dir = SOUTHEAST - // Reinforced /obj/structure/window/reinforced diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index ea8c3f2ff36..9c9d6c675af 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -19,7 +19,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() // 1 = assistance // 2 = supplies // 3 = info - // 4 = ass + sup + // 4 = ass + sup //Erro goddamn you just HAD to shorten "assistance" down to "ass" // 5 = ass + info // 6 = sup + info // 7 = ass + sup + info @@ -217,7 +217,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() announceAuth = 0; screen = 0 if(href_list["sendAnnouncement"]) - world << " [department] announcement: [html_encode(message)]" + world << "[department] announcement: [html_encode(message)]" announceAuth = 0 message = "" screen = 0 From 215d01e1cd204ac5dea516fefb43f951c1772aff Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:50:34 +0100 Subject: [PATCH 07/23] TG: - Removed the 'midis' variable from mobs. This one's supposed to be a client thing, so it's now a client side var instead of being doubled in mobs. - Made ooccolor, be_pai, be_alien, midis and ghost_ears actually properly copy over from the preferences when observing! Incredible, isn't it? Revision: r3087 Author: baloh.matev --- code/game/verbs/sound.dm | 3 +- code/modules/mob/new_player/new_player.dm | 2 + code/modules/mob/new_player/preferences.dm | 60 ++++++++++++++++------ 3 files changed, 47 insertions(+), 18 deletions(-) diff --git a/code/game/verbs/sound.dm b/code/game/verbs/sound.dm index 2e64eabf73b..0ba65de787d 100644 --- a/code/game/verbs/sound.dm +++ b/code/game/verbs/sound.dm @@ -15,6 +15,7 @@ return /* why is something that only is usable in the lobby a mob verb? + /mob/verb/toggletitlemusic() set category = "Special Verbs" set name = "Toggle Pregame Music" @@ -27,4 +28,4 @@ M << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jamsz return -*/ +*/ \ No newline at end of file diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index f4ddf4d83bb..cbbb5505e8d 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -214,6 +214,8 @@ observer.real_name = observer.name observer.original_name = observer.name //Original name is only used in ghost chat! It is not to be edited by anything! + preferences.copy_to_observer(observer) + del(src) return 1 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 07c5f9436fa..01ff30befdc 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -300,15 +300,21 @@ datum/preferences dat += "[copytext(flavor_text, 1, 37)]..." dat += "
" - if(!jobban_isbanned(user, "Syndicate")) + if(jobban_isbanned(user, "Syndicate")) + dat += "You are banned from antagonist roles." + src.be_special = 0 + else var/n = 0 for (var/i in special_roles) if(special_roles[i]) //if mode is available on the server - dat += "Be [i]: [src.be_special&(1<
" + if(jobban_isbanned(user, i)) + dat += "Be [i]: \[BANNED]
" + else if(i == "pai candidate") + if(jobban_isbanned(user, "pAI")) + dat += "Be [i]: \[BANNED]
" + else + dat += "Be [i]: [src.be_special&(1<
" n++ - else - dat += "You are banned from being Syndicate." - src.be_special = 0 dat += "
" // slot options @@ -599,12 +605,23 @@ datum/preferences switch(link_tags["real_name"]) if("input") new_name = input(user, "Please select a name:", "Character Generation") as text - var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\") + var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "\[", "\]", "{", "}", "|", "\\","0","1","2","3","4","5","6","7","8","9") for(var/c in bad_characters) new_name = dd_replacetext(new_name, c, "") if(!new_name || (new_name == "Unknown") || (new_name == "floor") || (new_name == "wall") || (new_name == "r-wall")) - alert("Don't do this") + alert("Invalid name. Don't do that!") return + if(length(new_name) >= 26) + alert("That name is too long.") + return + + //Carn: To fix BYOND text-parsing errors caused by people using dumb capitalisation in their names. + var/tempname + for(var/N in dd_text2list(new_name, " ")) + if(N && tempname) //if both aren't null strings + tempname += " " + tempname += capitalize(lowertext(N)) + new_name = tempname if("random") randomize_name() @@ -617,9 +634,9 @@ datum/preferences if(link_tags["age"]) switch(link_tags["age"]) if("input") - var/new_age = input(user, "Please select type in age: 20-45", "Character Generation") as num + var/new_age = input(user, "Please select type in age: 15-45", "Character Generation") as num if(new_age) - age = max(min(round(text2num(new_age)), 45), 20) + age = max(min(round(text2num(new_age)), 45), 15) if("random") age = rand (20, 45) @@ -761,7 +778,8 @@ datum/preferences UI = UI_OLD if(link_tags["midis"]) - midis = (midis+1)%2 + midis = !midis + if(link_tags["ghost_ears"]) ghost_ears = !ghost_ears @@ -947,8 +965,6 @@ datum/preferences backbag = 1 //Same as above character.backbag = backbag - character.underwear = underwear == 1 ? pick(1,2,3,4,5) : 0 - character.used_skillpoints = used_skillpoints character.skill_specialization = skill_specialization character.skills = skills @@ -959,11 +975,21 @@ datum/preferences if(!safety)//To prevent run-time errors due to null datum when using randomize_appearance_for() spawn(10) if(character&&character.client) - character.client.midis = midis - character.client.ooccolor = ooccolor - character.client.be_alien = be_special&BE_ALIEN - character.client.be_pai = be_special&BE_PAI - character.client.be_syndicate = be_special + setup_client(character.client) + + proc/copy_to_observer(mob/dead/observer/character) + spawn(10) + if(character && character.client) + setup_client(character.client) + + proc/setup_client(var/client/C) + if(C) + C.midis = src.midis + C.ooccolor = src.ooccolor + C.be_alien = be_special & BE_ALIEN + C.be_pai = be_special & BE_PAI + if(isnull(src.ghost_ears)) src.ghost_ears = 1 //There were problems where the default was null before someone saved their profile. + C.ghost_ears = src.ghost_ears proc/copydisabilities(mob/living/carbon/human/character) if(disabilities & 1) From 73ececb414163216025a239fd5b0a2a82d5c6ee1 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:54:05 +0100 Subject: [PATCH 08/23] TG: - Added a medsci headset to virology and genetics - Added two scientist lockers into the science wing - Added some roboticist clothing to robotics + roboticist headset - Added an extra QM headset to the rack in his office. Changed a few headsets which jobs spawn with to match their hierarchy: - Roboticist now spawns with the robotics headset instead of engineering. The robotics headset has engineering and science channels. - Virologist now spawns with the medsci headset instead of the medical headset. The medsci headset has medical and science channels. With this there are now extra headsets for every job. Revision: r3091 Author: baloh.matevz --- code/WorkInProgress/SkyMarshal/wardrobes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index e40eff552a7..8645d0dc62b 100755 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -172,7 +172,7 @@ new /obj/item/weapon/storage/toolbox/mechanical(src) new /obj/item/clothing/suit/storage/labcoat(src) new /obj/item/clothing/gloves/black(src) - new /obj/item/device/radio/headset/headset_eng(src) + new /obj/item/device/radio/headset/headset_rob(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/under/rank/roboticist(src) From c09c694a231ed97cb57987ff13a56f2a4f549ea2 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 19:57:45 +0100 Subject: [PATCH 09/23] TG: - Dropped support for attaching photos to ID cards. The feature was never fully implemented and the information you got from them was misleading and wrong. - Backpacks max_combined_w_class is now 21 instead of 20, meaning it can store 7 box-sized items instead of 6 box sized items + 1 small item (which the box is supposed to hold anyway) - Added many fire alarms around the station to areas that either lacked them or where they were too rare - Added 4 hazard vests to the atmospherics departments for atmos techs who prefer hazard vests to firesuits. - Added these changes to the changelog. Revision: r3092 Author: baloh.matevz --- code/defines/obj/weapon.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index d04d7105ddb..eda6fa3a31c 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -560,7 +560,6 @@ var/access = list() var/registered_name = null var/assignment = null - var/obj/item/weapon/photo/PHOTO = null var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit var/dorm = 0 // determines if this ID has claimed a dorm already From 509f78ab82188ff5858a2438d96af075389d5a1f Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:00:41 +0100 Subject: [PATCH 10/23] TG: - Gave Station engineers construction site access, so they can play around in that vacant office. - Removed that wall that was blocking the entrance to the theater for whatever reason - Replaced a few airlocks that had glass around them with glass airlocks: - - Detective's door is a glass red airlock - - Checkpoint door is a glass red airlock - - Assistant storage door is a normal glass airlock - - Autolathe room door is a normal glass airlock Revision: r3093 Author: baloh.matevz --- code/game/jobs/access.dm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index dc513705e96..82c5475e399 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -143,13 +143,14 @@ return 1 if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access return 0 + for(var/req in src.req_access) + if(!(req in I.access)) //doesn't have this access + return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in I.access) //has an access from the single access list return 1 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 + return 0 return 1 @@ -159,13 +160,14 @@ if(!src.req_access.len && (!src.req_one_access || !src.req_one_access.len)) return 1 if(!L) return 0 if(!istype(L, /list)) return 0 + for(var/req in src.req_access) + if(!(req in L)) //doesn't have this access + return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in L) //has an access from the single access list return 1 - for(var/req in src.req_access) - if(!(req in L)) //doesn't have this access - return 0 + return 0 return 1 @@ -174,7 +176,7 @@ if("Geneticist") return list(access_medical, access_morgue, access_medlab) if("Station Engineer") - return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks) + return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) if("Assistant") return list() if("Chaplain") From 3d17801699d42da633e992973af57ba738ce783c Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:03:49 +0100 Subject: [PATCH 11/23] TG: - The engineering, command, medical and security glass airlocks now close with the green door lights on, which is how all the other airlocks close. - Unfortunately I can't make the airlocks, when they have the panel open, close with no lights on. When the panel is open they also close and open with the green lights on. - Removed a wrongly sprited, doubled instance of the black centcom door. Revision: r3095 Author: baloh.matevz --- icons/obj/doors/Doorcomglass.dmi | Bin 15274 -> 24929 bytes icons/obj/doors/Doorele.dmi | Bin 25945 -> 13971 bytes icons/obj/doors/Doorengglass.dmi | Bin 15705 -> 39918 bytes icons/obj/doors/Doorsecglass.dmi | Bin 16065 -> 21776 bytes icons/obj/doors/doormedglass.dmi | Bin 16082 -> 21335 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/doors/Doorcomglass.dmi b/icons/obj/doors/Doorcomglass.dmi index 1505ff3af0cf5b5b64c0510a4145119deefd83eb..a66adcd67415f987a077676ef44613b1bf34d77f 100644 GIT binary patch literal 24929 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 literal 15274 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 N_2)XuRf^^z{|Am4_sReO diff --git a/icons/obj/doors/Doorele.dmi b/icons/obj/doors/Doorele.dmi index 1a9fc618eb3e837dda037f923a02855008e63ad1..984ad3d0f1b379fce94ba2e4e3fd3f6b29d1dcc7 100644 GIT binary patch literal 13971 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 aa9G{TDywoi4Dl~BfSi<)WTm*V|NjH|ePCh$ literal 25945 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

vP6=kFMiUR#st%uSdz2FvI&US`W66=k*5f0h%+P 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

g( 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%0D1q+i@b)_PRuRkf13grnID;cA#;6G#{h& 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 diff --git a/icons/obj/doors/Doorsecglass.dmi b/icons/obj/doors/Doorsecglass.dmi index 237abd8dfba8398ba3e33fd6051b7ef57856cefc..03171865755c9aa1cc989ff7caf3f4dd98910fcd 100644 GIT binary patch literal 21776 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 literal 16065 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 ^X{+tQ5{@P`_Gq`YXQ3oD9&||5raznqBQC8~4r> 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 Date: Sun, 22 Apr 2012 20:07:44 +0100 Subject: [PATCH 12/23] TG: Removed vials.dm, added possession verbs to modules/admin/verbs/possess.dm. Chemistry reception windows are now public access. Did some minor disposals remapping. Added a newcaster to the HoP office. Revision: r3096 Author: petethegoat --- baystation12.dme | 2 +- code/game/vials.dm | 314 ---------------------------- code/modules/admin/verbs/possess.dm | 50 +++++ 3 files changed, 51 insertions(+), 315 deletions(-) delete mode 100644 code/game/vials.dm create mode 100644 code/modules/admin/verbs/possess.dm diff --git a/baystation12.dme b/baystation12.dme index 90daa241aea..6b2c923ebf9 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -382,7 +382,6 @@ #include "code\game\throwing.dm" #include "code\game\topic.dm" #include "code\game\turf.dm" -#include "code\game\vials.dm" #include "code\game\vote.dm" #include "code\game\area\ai_monitored.dm" #include "code\game\area\areas.dm" @@ -785,6 +784,7 @@ #include "code\modules\admin\verbs\modifyvariables.dm" #include "code\modules\admin\verbs\onlyone.dm" #include "code\modules\admin\verbs\playsound.dm" +#include "code\modules\admin\verbs\possess.dm" #include "code\modules\admin\verbs\pray.dm" #include "code\modules\admin\verbs\randomverbs.dm" #include "code\modules\admin\verbs\striketeam.dm" diff --git a/code/game/vials.dm b/code/game/vials.dm deleted file mode 100644 index 9e127e4baba..00000000000 --- a/code/game/vials.dm +++ /dev/null @@ -1,314 +0,0 @@ -//NOTE: -//This file contains the worst code ive ever written. -//I dont fucking care. It looks pretty awesome. - -////////////////////////////////////////////////////////// -/obj/effect/dummy/liquid - name = "water" - icon = 'effects.dmi' - icon_state = "nothing" - invisibility = 101 - var/canmove = 1 - density = 0 - anchored = 1 - -/obj/item/weapon/vial - name = "glass vial" - icon = 'chemical.dmi' - desc = "a glass vial filled with a strange liquid" - icon_state = "vialgreen" - item_state = "vialgreen" - throwforce = 3.0 - throw_speed = 1 - throw_range = 8 - force = 3.0 - w_class = 1.0 - -/obj/item/weapon/vial/green - name = "glass vial" - icon = 'chemical.dmi' - desc = "a glass vial filled with a strange green liquid" - icon_state = "vialgreen" - item_state = "vialgreen" - -/obj/item/weapon/vial/blue - name = "glass vial" - icon = 'chemical.dmi' - desc = "a glass vial filled with a shimmering blue liquid" - icon_state = "vialblue" - item_state = "vialblue" -////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////*** -/obj/item/weapon/vial/attack(target as mob, mob/user as mob) - if(target == user) return attack_self(user) - user << "\blue The vial shatters." - src.shatter() -/obj/item/weapon/vial/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - user << "\blue The vial shatters." - src.shatter() -/obj/item/weapon/vial/attack_self(mob/user as mob) - user << "\blue You uncork the vial and drink the liquid." - src.drink(user) -/obj/item/weapon/vial/proc/shatter() - return -/obj/item/weapon/vial/proc/drink(user) - return -///////////////////////////////////////////////////////*** - -/////////////////////////////////////////////////////green -/obj/item/weapon/vial/green/drink(mob/living/user as mob) - var/A = src - src = null - del(A) - switch(pick(1,2,3)) - if(1) - spawn(300) - user.gib() - if(2) - user.Weaken(5) - user.contract_disease(new /datum/disease/gbs,1) - if(3) - spawn(200) - user.contract_disease(new /datum/disease/gbs,1) - -/obj/item/weapon/vial/green/shatter() - var/A = src - var/atom/sourceloc = get_turf(src.loc) - src = null - del(A) - var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) - var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) - O.name = "green liquid" - O.density = 0 - O.anchored = 1 - O.icon = 'effects.dmi' - O.icon_state = "greenshatter" - O2.name = "broken bits of glass" - O2.density = 0 - O2.anchored = 1 - O2.icon = 'objects.dmi' - O2.icon_state = "shards" - for(var/mob/living/carbon/human/H in view(5, sourceloc)) - H.contract_disease(new /datum/disease/gbs,1) - var/i - for(i=0, i<5, i++) - for(var/mob/living/carbon/human/H in view(5, sourceloc)) - H.contract_disease(new /datum/disease/gbs,1) - sleep(20) - flick("greenshatter2",O) - O.icon_state = "nothing" - sleep(5) - del(O) -/////////////////////////////////////////////////////green - -/////////////////////////////////////////////////////blue -/obj/item/weapon/vial/blue/drink(user) - var/A = src - var/atom/sourceloc = get_turf(src.loc) - src = null - del(A) - - var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) - var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) - - O.name = "green liquid" - O.density = 0 - O.anchored = 1 - O.icon = 'effects.dmi' - O.icon_state = "blueshatter" - O2.name = "broken bits of glass" - O2.density = 0 - O2.anchored = 1 - O2.icon = 'objects.dmi' - O2.icon_state = "shards" - - liquify(user) - - sleep(20) - flick("blueshatter2",O) - O.icon_state = "nothing" - sleep(5) - del(O) - -/obj/item/weapon/vial/blue/shatter() - - var/A = src - var/atom/sourceloc = get_turf(src.loc) - src = null - del(A) - - var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) - var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) - - O.name = "green liquid" - O.density = 0 - O.anchored = 1 - O.icon = 'effects.dmi' - O.icon_state = "blueshatter" - O2.name = "broken bits of glass" - O2.density = 0 - O2.anchored = 1 - O2.icon = 'objects.dmi' - O2.icon_state = "shards" - - for(var/mob/living/carbon/human/H in view(1, sourceloc)) - liquify(H) - - sleep(20) - flick("blueshatter2",O) - O.icon_state = "nothing" - sleep(5) - - del(O) - -/proc/liquify(var/mob/H, time = 150) - - if(H.stat) return - spawn(0) - var/mobloc = get_turf(H.loc) - var/obj/effect/dummy/liquid/holder = new /obj/effect/dummy/liquid( mobloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) - animation.name = "water" - animation.density = 0 - animation.anchored = 1 - animation.icon = 'mob.dmi' - animation.icon_state = "liquify" - animation.layer = 5 - animation.master = holder - flick("liquify",animation) - H.canmove = 0 - sleep(4) - H.loc = holder - H.canmove = 1 - H.client.eye = holder - spawn(0) - var/i - for(i=0, i<10, i++) - spawn(0) - var/obj/effect/effect/water/water1 = new /obj/effect/effect/water( mobloc ) - var/direction = pick(alldirs) - water1.name = "water" - water1.density = 0 - water1.icon = 'water.dmi' - water1.icon_state = "extinguish" - for(i=0, i Date: Sun, 22 Apr 2012 20:09:46 +0100 Subject: [PATCH 13/23] TG: Changes to layering of underfloor stuff: - Disposal pipes are on layer 2.3 - Pipes and manifolds are on layer 2.4 - Cables are on layer 2.44 - Unary atmospherics stuff (vent pumps, scrubbers) are on layer 2.45 - Nav beacons, bluespace beacons and such things are on layer 2.5 Disposal piping > Pipes > Cables > Vents/scrubbers > Beacons & stuff Revision: r3097 Author: baloh.matevz --- code/ATMOSPHERICS/components/unary/unary_base.dm | 1 + code/ATMOSPHERICS/components/unary/vent_pump.dm | 1 - code/ATMOSPHERICS/components/unary/vent_scrubber.dm | 1 - code/ATMOSPHERICS/pipes.dm | 3 ++- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm index 230296a9f48..b755071487e 100644 --- a/code/ATMOSPHERICS/components/unary/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary/unary_base.dm @@ -1,6 +1,7 @@ /obj/machinery/atmospherics/unary dir = SOUTH initialize_directions = SOUTH + layer = TURF_LAYER+0.1 var/datum/gas_mixture/air_contents diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 03a79934b0c..3388cfd9667 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -6,7 +6,6 @@ desc = "Has a valve and pump attached to it" level = 1 - layer = TURF_LAYER var/area_uid var/id_tag = null power_channel = ENVIRON diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index a55e38140b1..6c427baab38 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -6,7 +6,6 @@ desc = "Has a valve and pump attached to it" level = 1 - layer = TURF_LAYER var/id_tag = null var/frequency = 1439 diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index da136715a58..71d9490160a 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -6,7 +6,7 @@ obj/machinery/atmospherics/pipe var/volume = 0 var/force = 20 - layer = 2.4 //under wires with their 2.5 + layer = 2.4 //under wires with their 2.44 var/alert_pressure = 80*ONE_ATMOSPHERE //minimum pressure before check_pressure(...) should be called @@ -605,6 +605,7 @@ obj/machinery/atmospherics/pipe var/obj/machinery/atmospherics/node3 level = 1 + layer = 2.4 //under wires with their 2.44 New() switch(dir) From fcb08473af6656b148ad332bc76fbd892997ca38 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:14:03 +0100 Subject: [PATCH 14/23] TG: Committing the one-way conveyor switches as posted by Donkieyo http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=7759 They are currently present in the mail office. Revision: r3104 Author: baloh.matevz --- code/modules/recycling/conveyor2.dm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 36334802e8f..bed4696b342 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -126,6 +126,7 @@ // attack with item, place item on conveyor /obj/machinery/conveyor/attackby(var/obj/item/I, mob/user) + if(isrobot(user)) return //Carn: fix for borgs dropping their modules on conveyor belts user.drop_item() if(I && I.loc) I.loc = src.loc return @@ -263,6 +264,26 @@ S.position = position S.update() +/obj/machinery/conveyor_switch/oneway + var/convdir = 1 //Set to 1 or -1 depending on which way you want the convayor to go. (In other words keep at 1 and set the proper dir on the belts.) + desc = "A conveyor control switch. It appears to only go in one direction." + +// attack with hand, switch position +/obj/machinery/conveyor_switch/oneway/attack_hand(mob/user) + if(position == 0) + position = convdir + else + position = 0 + + operated = 1 + update() + + // find any switches with same id as this one, and set their positions to match us + for(var/obj/machinery/conveyor_switch/S in world) + if(S.id == src.id) + S.position = position + S.update() + // converyor diverter // extendable arm that can be switched so items on the conveyer are diverted sideways // situate in same turf as conveyor From 9e0218e4a36a8b7d37bde6e302f5fe068042b532 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:19:57 +0100 Subject: [PATCH 15/23] TG: - lightbulb and light tube w_class is now 1, large tube (used for floodlights) remains at 2. - bulb and tube boxes now contain 21 bulbs or tubes, but can only store bulbs or tubes. - added a mixed box of lights, which contains 14 tubes and 7 bulbs - most of the areas which contained light boxes now contain these large mixed boxes. Screenshot: http://www.kamletos.si/bulbs.png Revision: r3105 Author: baloh.matevz --- code/defines/obj/supplypacks.dm | 13 +++---------- code/modules/power/lighting.dm | 32 +++++++++++++++++--------------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 0f3dad8132f..cc1940219ee 100755 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -313,18 +313,11 @@ containertype = "/obj/structure/closet/crate" containername = "Janitorial supplies" -/obj/item/weapon/storage/lightbox/tubes - /datum/supply_packs/lightbulbs name = "Replacement lights" - contains = list("/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/tubes", - "/obj/item/weapon/storage/lightbox/bulbs", - "/obj/item/weapon/storage/lightbox/bulbs") + contains = list("/obj/item/weapon/storage/lightbox/mixed", + "/obj/item/weapon/storage/lightbox/mixed", + "/obj/item/weapon/storage/lightbox/mixed") cost = 5 containertype = "/obj/structure/closet/crate" containername = "Replacement lights" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 91bdf826277..a94f99506de 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -172,7 +172,6 @@ /obj/machinery/light/attackby(obj/item/W, mob/user) - // attempt to insert light if(istype(W, /obj/item/weapon/light)) if(status != LIGHT_EMPTY) @@ -457,7 +456,7 @@ flags = FPRINT | TABLEPASS force = 2 throwforce = 5 - w_class = 2 + w_class = 1 var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched @@ -476,6 +475,7 @@ brightness = 8 large + w_class = 2 name = "large light tube" brightness = 15 @@ -524,6 +524,7 @@ // also repairing them with wire and screwdriver // and glass if it's broken /obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/weapon/reagent_containers/syringe)) var/obj/item/weapon/reagent_containers/syringe/S = I @@ -600,13 +601,8 @@ /obj/item/weapon/storage/lightbox/bulbs/New() ..() - new /obj/item/weapon/light/bulb(src) - new /obj/item/weapon/light/bulb(src) - new /obj/item/weapon/light/bulb(src) - - new /obj/item/weapon/light/bulb(src) - new /obj/item/weapon/light/bulb(src) - new /obj/item/weapon/light/bulb(src) + for(var/i = 0; i < 21; i++) + new /obj/item/weapon/light/bulb(src) /obj/item/weapon/storage/lightbox/tubes name = "replacement tubes" @@ -614,13 +610,19 @@ /obj/item/weapon/storage/lightbox/tubes/New() ..() - new /obj/item/weapon/light/tube(src) - new /obj/item/weapon/light/tube(src) - new /obj/item/weapon/light/tube(src) + for(var/i = 0; i < 21; i++) + new /obj/item/weapon/light/tube(src) - new /obj/item/weapon/light/tube(src) - new /obj/item/weapon/light/tube(src) - new /obj/item/weapon/light/tube(src) +/obj/item/weapon/storage/lightbox/mixed + name = "replacement lights" + icon_state = "lightmixed" + +/obj/item/weapon/storage/lightbox/mixed/New() + ..() + for(var/i = 0; i < 14; i++) + new /obj/item/weapon/light/tube(src) + for(var/i = 0; i < 7; i++) + new /obj/item/weapon/light/bulb(src) /obj/structure/light_frame name = "Light Fixture Frame" From b1900af5fb50719c6d591cce7f3cae5fa98af46a Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:25:21 +0100 Subject: [PATCH 16/23] TG: Commited on behalf of Nodrak - Fixes: Issue 257 , Issue 346 and Issue 343 - Monkeys no longer continue to take suffocation damage after dying. - PDAs can no longer be used while stunned or paralysed. - Vending machines now have a delay to stop product spamming. Note: I upped the delay a little as it was still pretty spammable when I tested it, seems to be fine now as it's way more effort than it's worth to empty a vending machine. Revision: r3107 Author: trubblebass --- code/game/machinery/vending.dm | 12 +++++++----- code/game/objects/devices/PDA/PDA.dm | 2 +- code/game/objects/devices/PDA/cart.dm | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index fa3f10211c7..f696f28e9f5 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -50,7 +50,6 @@ To combat this, I changed the window name. -- Doohl //Add hidden inventory src.build_inventory(temp_hidden,temp_hiddenprices,1) src.build_inventory(temp_coin,temp_coin_amt, 0, 1) - power_change() return @@ -302,18 +301,21 @@ To combat this, I changed the window name. -- Doohl FOLKS IN IRC RULED THAT THIS WAS SHITTY -- Doohl No more delays! Go nuts~~~~~~~~~~~ - if(((src.last_reply + (src.vend_delay + 200)) <= world.time) && src.vend_reply) + A 20 second delay is stupid, a 2 second delay however, is not. -- Nodrak + No more greyshirts intentionally crashing clients through vended item spam! + */ + + if(((src.last_reply + (src.vend_delay + 50)) <= world.time) && src.vend_reply) spawn(0) src.speak(src.vend_reply) src.last_reply = world.time - */ use_power(5) if (src.icon_vend) //Show the vending animation if needed flick(src.icon_vend,src) - // spawn(src.vend_delay) NOPE.jpg - //src.vend_ready = 1 + spawn(src.vend_delay) + src.vend_ready = 1 if(R.price <= points) new product_path(get_turf(src)) diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm index 26139627de7..a5741d8e00f 100755 --- a/code/game/objects/devices/PDA/PDA.dm +++ b/code/game/objects/devices/PDA/PDA.dm @@ -567,7 +567,7 @@ playsound(P.loc, 'twobeep.ogg', 50, 1) -// log_pda("[usr] (PDA: [src.name]) sent \"[t]\" to [P.name]") + log_pda("[usr] (PDA: [src.name]) sent \"[t]\" to [P.name]") if("Send Honk")//Honk virus diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm index 2461604742a..9f8c9529d27 100644 --- a/code/game/objects/devices/PDA/cart.dm +++ b/code/game/objects/devices/PDA/cart.dm @@ -564,7 +564,7 @@ Code: /obj/item/weapon/cartridge/Topic(href, href_list) ..() - if (usr.stat || usr.restrained() || !in_range(loc, usr)) + if (!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr.machine = null usr << browse(null, "window=pda") return From 696f8ad5aac82e3a081df56eee3e984937308b6d Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 20:45:19 +0100 Subject: [PATCH 17/23] TG: - Removed the table where mail gets to at mail sorting because mobs keep getting stuck there. - You can no longer control disposal units from within them! - Disposal units now auto trigger every 30 game ticks, if they are fully pressurized and if they have something (or someone) in them. So no more hiding in disposal units! - Added this to the changelog. Revision: r3108 Author: baloh.matevz --- code/modules/recycling/disposal.dm | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index c190f64b6fe..b48d3085572 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -45,6 +45,9 @@ if(stat & BROKEN || !I || !user) return + if(isrobot(user) && !istype(I, /obj/item/weapon/trashbag)) + return + if(istype(I, /obj/item/weapon/melee/energy/blade)) user << "You can't place that item inside the disposal unit." return @@ -58,10 +61,6 @@ update() return - //robots shouldn't be able to grab/carry stuff anyway - if(isrobot(user)) - return - if(istype(I, /obj/item/ashtray) && (I.health > 0)) user << "\blue You empty the ashtray into [src]." for(var/obj/item/O in I.contents) @@ -103,6 +102,11 @@ GM.client.eye = src GM.loc = src for (var/mob/C in viewers(src)) + + log_attack("[usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.") + log_admin("ATTACK: [usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.") + message_admins("ATTACK: [usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.") + C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3) del(G) else @@ -144,9 +148,19 @@ if(!do_after(usr, 20)) return if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) // if drop self, then climbed in // must be awake, not stunned or whatever + + log_attack("[user] ([user.ckey]) climbed into a disposals unit.") + log_admin("ATTACK: [user] ([user.ckey]) climbed into in a disposals unit.") + message_admins("ATTACK: [user] ([user.ckey]) climbed into in a disposals unit.") + msg = "[user.name] climbs into the [src]." user << "You climb into the [src]." else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) + + log_attack("[user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.") + log_admin("ATTACK: [user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.") + message_admins("ATTACK: [user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.") + msg = "[user.name] stuffs [target.name] into the [src]!" user << "You stuff [target.name] into the [src]!" else @@ -239,10 +253,14 @@ // human interact with machine attack_hand(mob/user as mob) + if(user && user.loc == src) + usr << "\red You cannot reach the controls from inside." + return interact(user, 0) // user interaction proc/interact(mob/user, var/ai=0) + src.add_fingerprint(user) if(stat & BROKEN) user.machine = null @@ -277,6 +295,9 @@ // handle machine interaction Topic(href, href_list) + if(usr.loc == src) + usr << "\red You cannot reach the controls from inside." + return ..() src.add_fingerprint(usr) if(stat & BROKEN) From 17d249c2c7a2fcacfaf21f485845bc6ba430cd12 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 21:07:45 +0100 Subject: [PATCH 18/23] TG: - Replaced a few more conveyor switches with the one-way conveyor switch. - Added feedback gathering for radio, rc and pda message use. (Only the number of messages sent is recorded) - Generalized the 'round_end' time feedback logging into a proc that now also handles the radio/pda/rc processing at round end. ( blackbox.round_end_data_gathering(), where blackbox is the blackbox recorder object. ) Revision: r3111 Author: baloh.matevz --- code/game/gamemodes/gameticker.dm | 6 +- .../game/gamemodes/malfunction/malfunction.dm | 18 +-- code/game/gamemodes/nuclear/nuclearbomb.dm | 3 +- code/game/vote.dm | 8 +- code/modules/admin/admin.dm | 132 +++++++++++++++--- code/modules/mob/mob.dm | 2 +- code/modules/research/message_server.dm | 57 ++++++-- 7 files changed, 178 insertions(+), 48 deletions(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 9cef526ae52..9a9b2d577a7 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -177,14 +177,14 @@ var/datum/roundinfo/roundinfo = new() spawn(50) if (mode.station_was_nuked) - feedback_set_details("end_proper","nuke") + //feedback_set_details("end_proper","nuke") world << "\blue Rebooting due to destruction of station in [restart_timeout/10] seconds" else - feedback_set_details("end_proper","proper completion") + //feedback_set_details("end_proper","proper completion") world << "\blue Restarting in [restart_timeout/10] seconds" // send2irc(world.url,"Server Rebooting!") - feedback_set_details("round_end","[time2text(world.realtime)]") + if(blackbox) blackbox.save_all_data_to_sql() diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index 7d37ad039e3..42ea617dba7 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -42,8 +42,8 @@ world << "Uh oh, its malfunction and there is no AI! Please report this." world << "Rebooting world in 5 seconds." - feedback_set_details("end_error","malf - no AI") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","malf - no AI") + if(blackbox) blackbox.save_all_data_to_sql() sleep(50) @@ -203,37 +203,37 @@ var/crew_evacuated = (emergency_shuttle.location==2) if ( station_captured && station_was_nuked) - feedback_set_details("round_end_result","win - AI win - nuke") + //feedback_set_details("round_end_result","win - AI win - nuke") world << "AI Victory" world << "Everyone was killed by the self-destruct!" else if ( station_captured && malf_dead && !station_was_nuked) - feedback_set_details("round_end_result","halfwin - AI killed, staff lost control") + //feedback_set_details("round_end_result","halfwin - AI killed, staff lost control") world << "Neutral Victory" world << "The AI has been killed! The staff has lose control over the station." else if ( station_captured && !malf_dead && !station_was_nuked) - feedback_set_details("round_end_result","win - AI win - no explosion") + //feedback_set_details("round_end_result","win - AI win - no explosion") world << "AI Victory" world << "The AI has chosen not to explode you all!" else if (!station_captured && station_was_nuked) - feedback_set_details("round_end_result","halfwin - everyone killed by nuke") + //feedback_set_details("round_end_result","halfwin - everyone killed by nuke") world << "Neutral Victory" world << "Everyone was killed by the nuclear blast!" else if (!station_captured && malf_dead && !station_was_nuked) - feedback_set_details("round_end_result","loss - staff win") + //feedback_set_details("round_end_result","loss - staff win") world << "Human Victory" world << "The AI has been killed! The staff is victorious." else if (!station_captured && !malf_dead && !station_was_nuked && crew_evacuated) - feedback_set_details("round_end_result","halfwin - evacuated") + //feedback_set_details("round_end_result","halfwin - evacuated") world << "Neutral Victory" world << "The Corporation has lose [station_name()]! All survived personnel will be fired!" else if (!station_captured && !malf_dead && !station_was_nuked && !crew_evacuated) - feedback_set_details("round_end_result","nalfwin - interrupted") + //feedback_set_details("round_end_result","nalfwin - interrupted") world << "Neutral Victory" world << "Round was mysteriously interrupted!" ..() diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 3e35b675abb..e13d4cd37a2 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -217,8 +217,7 @@ if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is world << "Resetting in 30 seconds!" - feedback_set_details("end_error","nuke - unhandled ending") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","nuke - unhandled ending") if(blackbox) blackbox.save_all_data_to_sql() sleep(300) diff --git a/code/game/vote.dm b/code/game/vote.dm index 9f3f93c2a44..f475c37f7a7 100644 --- a/code/game/vote.dm +++ b/code/game/vote.dm @@ -87,8 +87,8 @@ if(ticker && ticker.mode) world <<"\red World will reboot in 10 seconds" - feedback_set_details("end_error","mode vote - [winner]") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","mode vote - [winner]") + if(blackbox) blackbox.save_all_data_to_sql() @@ -108,8 +108,8 @@ world <<"\red World will reboot in 5 seconds" - feedback_set_details("end_error","restart vote") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","restart vote") + if(blackbox) blackbox.save_all_data_to_sql() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 93483db048b..769dd0d59f3 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -189,7 +189,7 @@ var/global/BSACooldown = 0 Banlist["minutes"] << (mins + CMinutes) Banlist["bannedby"] << usr.ckey Banlist.cd = "/base" - feedback_inc("ban_edit",1) + //feedback_inc("ban_edit",1) unbanpanel() /////////////////////////////////////new ban stuff @@ -253,7 +253,7 @@ var/global/BSACooldown = 0 log_admin("[key_name(usr)] unbanned [key_name(M)] from [job]") ban_unban_log_save("[key_name(usr)] unjobbanned [key_name(M)] from [job]") M << "\redYou have been un-jobbanned by [usr.client.ckey] from [job]." - feedback_inc("ban_job_unban",1) + //feedback_inc("ban_job_unban",1) message_admins("\blue [key_name_admin(usr)] unbanned [key_name_admin(M)] from [job]", 1) jobban_unban(M, job) href_list["jobban2"] = 1 @@ -263,7 +263,7 @@ var/global/BSACooldown = 0 return ban_unban_log_save("[key_name(usr)] jobbanned [key_name(M)] from [job]. reason: [reason]") log_admin("[key_name(usr)] banned [key_name(M)] from [job]") - feedback_inc("ban_job",1) + //feedback_inc("ban_job",1) M << "\redYou have been jobbanned by [usr.client.ckey] from [job]." M << "\red The reason is: [reason]" M << "\red Jobban can be lifted only on demand." @@ -320,7 +320,8 @@ var/global/BSACooldown = 0 ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.") M << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]." M << "\red This is a temporary ban, it will be removed in [mins] minutes." - feedback_inc("ban_tmp",1) + //feedback_inc("ban_tmp",1) + //feedback_inc("ban_tmp_mins",mins) if(config.appeal_address) M << "\red You may try to appeal this at [config.appeal_address]" else @@ -344,7 +345,7 @@ var/global/BSACooldown = 0 ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.") log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") - feedback_inc("ban_perma",1) + //feedback_inc("ban_perma",1) del(M.client) //del(M) @@ -422,7 +423,8 @@ var/global/BSACooldown = 0 else M << "\red No ban appeals URL has been set." ban_unban_log_save("[usr.client.ckey] has jobbanned [M.ckey] from [job]. - Reason: [reason] - This will be removed in [mins] minutes.") - feedback_inc("ban_job",1) + //feedback_inc("ban_job",1) + //feedback_add_details("ban_job","- [job]") log_admin("[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis will be removed in [mins] minutes.") message_admins("\blue[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis will be removed in [mins] minutes.") @@ -440,7 +442,8 @@ var/global/BSACooldown = 0 else M << "\red No ban appeals URL has been set." ban_unban_log_save("[usr.client.ckey] has banned [M.ckey] from [job]. - Reason: [reason] - This is a permanent ban.") - feedback_inc("ban_job_tmp",1) + //feedback_inc("ban_job_tmp",1) + //feedback_add_details("ban_job_tmp","- [job]") log_admin("[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis is a permanent ban.") message_admins("\blue[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis is a permanent ban.") @@ -1263,14 +1266,20 @@ var/global/BSACooldown = 0 var/ok = 0 switch(href_list["secretsfun"]) if("sec_clothes") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","SC") for(var/obj/item/clothing/under/O in world) del(O) ok = 1 if("sec_all_clothes") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","SAC") for(var/obj/item/clothing/O in world) del(O) ok = 1 if("sec_classic1") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","SC1") for(var/obj/item/clothing/suit/fire/O in world) del(O) for(var/obj/structure/grille/O in world) @@ -1284,7 +1293,10 @@ var/global/BSACooldown = 0 del(O) ok = 1*/ if("toxic") - /* for(var/obj/machinery/atmoalter/siphs/fullairsiphon/O in world) + /* + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","T") + for(var/obj/machinery/atmoalter/siphs/fullairsiphon/O in world) O.t_status = 3 for(var/obj/machinery/atmoalter/siphs/scrubbers/O in world) O.t_status = 1 @@ -1298,26 +1310,34 @@ var/global/BSACooldown = 0 */ usr << "HEH" if("monkey") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","M") for(var/mob/living/carbon/human/H in world) spawn(0) H.monkeyize() ok = 1 if("corgi") - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","M") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","M") for(var/mob/living/carbon/human/H in world) spawn(0) H.corgize() ok = 1 if("power") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","P") log_admin("[key_name(usr)] made all areas powered", 1) message_admins("\blue [key_name_admin(usr)] made all areas powered", 1) power_restore() if("unpower") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","UP") log_admin("[key_name(usr)] made all areas unpowered", 1) message_admins("\blue [key_name_admin(usr)] made all areas unpowered", 1) power_failure() if("activateprison") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","AP") world << "\blue Transit signature detected." world << "\blue Incoming shuttle." /* @@ -1329,6 +1349,8 @@ var/global/BSACooldown = 0 message_admins("\blue [key_name_admin(usr)] sent the prison shuttle to the station.", 1) if("deactivateprison") /* + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","DP") var/A = locate(/area/shuttle_prison) for(var/atom/movable/AM as mob|obj in A) AM.z = 2 @@ -1336,6 +1358,8 @@ var/global/BSACooldown = 0 */ message_admins("\blue [key_name_admin(usr)] sent the prison shuttle back.", 1) if("toggleprisonstatus") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","TPS") for(var/obj/machinery/computer/prison_shuttle/PS in world) PS.allowedtocall = !(PS.allowedtocall) message_admins("\blue [key_name_admin(usr)] toggled status of prison shuttle to [PS.allowedtocall].", 1) @@ -1343,6 +1367,8 @@ var/global/BSACooldown = 0 if(!ticker) alert("The game hasn't started yet!", null, null, null, null, null) return + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","PW") message_admins("\blue [key_name_admin(usr)] teleported all players to the prison station.", 1) for(var/mob/living/carbon/human/H in world) var/turf/loc = find_loc(H) @@ -1385,6 +1411,8 @@ var/global/BSACooldown = 0 var/objective = input("Enter an objective") if(!objective) return + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","TA([objective])") for(var/mob/living/carbon/human/H in world) if(H.stat == 2 || !H.client || !H.mind) continue if(is_special_character(H)) continue @@ -1415,6 +1443,8 @@ var/global/BSACooldown = 0 if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) if(mining_shuttle_moving) return + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","ShM") move_mining_shuttle() message_admins("\blue [key_name_admin(usr)] moved mining shuttle", 1) log_admin("[key_name(usr)] moved the mining shuttle") @@ -1422,6 +1452,8 @@ var/global/BSACooldown = 0 alert("You're not of a high enough rank to do this") if("moveadminshuttle") if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","ShA") move_admin_shuttle() message_admins("\blue [key_name_admin(usr)] moved the centcom administration shuttle", 1) log_admin("[key_name(usr)] moved the centcom administration shuttle") @@ -1429,6 +1461,8 @@ var/global/BSACooldown = 0 alert("You're not of a high enough rank to do this") if("moveferry") if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","ShF") move_ferry() message_admins("\blue [key_name_admin(usr)] moved the centcom ferry", 1) log_admin("[key_name(usr)] moved the centcom ferry") @@ -1436,12 +1470,16 @@ var/global/BSACooldown = 0 alert("You're not of a high enough rank to do this") if("movealienship") if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","ShX") move_alien_ship() message_admins("\blue [key_name_admin(usr)] moved the alien dinghy", 1) log_admin("[key_name(usr)] moved the alien dinghy") else alert("You're not of a high enough rank to do this") if("flicklights") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","FL") while(!usr.stat) //knock yourself out to stop the ghosts for(var/mob/M in world) @@ -1513,6 +1551,8 @@ var/global/BSACooldown = 0 sleep(rand(30,400)) Wall.ex_act(rand(2,1)) */ if("wave") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","MW") if ((src.rank in list("Trial Admin", "Badmin", "Game Admin", "Game Master" ))) meteor_wave() message_admins("[key_name_admin(usr)] has spawned meteors", 1) @@ -1522,6 +1562,8 @@ var/global/BSACooldown = 0 alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null) return if("gravanomalies") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","GA") command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert") world << sound('granomalies.ogg') var/turf/T = pick(blobstart) @@ -1551,41 +1593,61 @@ var/global/BSACooldown = 0 spawn(rand(300,600)) del(P) if("goblob") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","BL") mini_blob_event() message_admins("[key_name_admin(usr)] has spawned blob", 1) if("aliens") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","AL") if(aliens_allowed) Force_Event(/datum/event/alieninfestation) message_admins("[key_name_admin(usr)] has spawned aliens", 1) if("spaceninja") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","SN") if(toggle_space_ninja) if(space_ninja_arrival())//If the ninja is actually spawned. They may not be depending on a few factors. message_admins("[key_name_admin(usr)] has sent in a space ninja", 1) if("carp") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","C") var/choice = input("You sure you want to spawn carp?") in list("Badmin", "Cancel") if(choice == "Badmin") message_admins("[key_name_admin(usr)] has spawned carp.", 1) Force_Event(/datum/event/spacecarp) if("radiation") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","R") message_admins("[key_name_admin(usr)] has has irradiated the station", 1) Force_Event(/datum/event/radiation) if("immovable") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","IR") message_admins("[key_name_admin(usr)] has sent an immovable rod to the station", 1) immovablerod() if("prison_break") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","PB") message_admins("[key_name_admin(usr)] has allowed a prison break", 1) Force_Event(/datum/event/prisonbreak) if("electric") message_admins("[key_name_admin(usr)] has triggered an electrical storm", 1) Force_Event(/datum/event/electricalstorm) if("lightsout") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","LO") message_admins("[key_name_admin(usr)] has broke a lot of lights", 1) lightsout(1,2) if("blackout") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","BO") message_admins("[key_name_admin(usr)] broke all lights", 1) SpawnEvent() lightsout(0,0) if("virus") + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","V") var/answer = alert("Do you want this to be a random disease or do you have something in mind?",,"Virus2","Random","Choose") if(answer=="Random") Force_Event(/datum/event/viralinfection) @@ -1608,6 +1670,8 @@ var/global/BSACooldown = 0 trigger_armed_response_team(1) if("retardify") if (src.rank in list("Badmin", "Game Admin", "Game Master")) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","RET") for(var/mob/living/carbon/human/H in world) if(H.client) H << "\red You suddenly feel stupid." @@ -1618,6 +1682,8 @@ var/global/BSACooldown = 0 return if("fakeguns") if (src.rank in list("Badmin", "Game Admin", "Game Master")) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","FG") for(var/obj/item/W in world) if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/weapon/disk) || istype(W, /obj/item/weapon/tank)) continue @@ -1636,6 +1702,8 @@ var/global/BSACooldown = 0 return*/ if("dorf") if (src.rank in list("Badmin","Game Admin", "Game Master")) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","DF") for(var/mob/living/carbon/human/B in world) B.face_icon_state = "facial_wise" B.update_face() @@ -1645,6 +1713,8 @@ var/global/BSACooldown = 0 return if("ionstorm") if (src.rank in list("Badmin","Game Admin", "Game Master")) + //feedback_inc("admin_secrets_fun_used",1) + //feedback_add_details("admin_secrets_fun_used","I") Force_Event(/datum/event/ionstorm) message_admins("[key_name_admin(usr)] triggered an ion storm") var/show_log = alert(usr, "Show ion message?", "Message", "Yes", "No") @@ -1922,7 +1992,7 @@ var/global/BSACooldown = 0 log_admin("[user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") ban_unban_log_save("[user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") message_admins("\blue [user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.") - feedback_inc("ban_warn",1) + //feedback_inc("ban_warn",1) del(M.client) @@ -1989,6 +2059,7 @@ var/global/BSACooldown = 0 foo += text("Jobban") dat += text("[foo]") usr << browse(dat, "window=adminplayeropts;size=480x150") + //feedback_add_details("admin_verb","SPP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/player_info/var @@ -2345,6 +2416,7 @@ var/global/BSACooldown = 0 CM.client.vote = "none" else CM.client.vote = "default" + //feedback_add_details("admin_verb","SV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/votekill() set category = "Server" @@ -2365,6 +2437,7 @@ var/global/BSACooldown = 0 if(M.client) M << browse(null, "window=vote") M.client.showvote = 0 + //feedback_add_details("admin_verb","AV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/voteres() set category = "Server" @@ -2387,6 +2460,7 @@ var/global/BSACooldown = 0 if(config.allow_vote_mode) vote.nextvotetime = world.timeofday + //feedback_add_details("admin_verb","TV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/restart() set category = "Server" @@ -2401,8 +2475,9 @@ var/global/BSACooldown = 0 world << "\red Restarting world! \blue Initiated by [usr.client.stealth ? "Admin" : usr.key]!" log_admin("[key_name(usr)] initiated a reboot.") - feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]") + //feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + if(blackbox) blackbox.save_all_data_to_sql() //send2irc(world.url,"Server Rebooting!") @@ -2419,6 +2494,7 @@ var/global/BSACooldown = 0 message = adminscrub(message,500) world << "\blue [usr.client.stealth ? "Administrator" : usr.key] Announces:\n \t [message]" log_admin("Announce: [key_name(usr)] : [message]") + //feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggleooc() set category = "Server" @@ -2431,6 +2507,7 @@ var/global/BSACooldown = 0 world << "The OOC channel has been globally disabled!" log_admin("[key_name(usr)] toggled OOC.") message_admins("[key_name_admin(usr)] toggled OOC.", 1) + //feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggleoocdead() set category = "Server" @@ -2440,6 +2517,7 @@ var/global/BSACooldown = 0 log_admin("[key_name(usr)] toggled OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) + //feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggletraitorscaling() set category = "Server" @@ -2448,6 +2526,7 @@ var/global/BSACooldown = 0 traitor_scaling = !traitor_scaling log_admin("[key_name(usr)] toggled Traitor Scaling to [traitor_scaling].") message_admins("[key_name_admin(usr)] toggled Traitor Scaling [traitor_scaling ? "on" : "off"].", 1) + //feedback_add_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/startnow() set category = "Server" @@ -2460,9 +2539,10 @@ var/global/BSACooldown = 0 ticker.current_state = GAME_STATE_SETTING_UP log_admin("[usr.key] has started the game.") message_admins("[usr.key] has started the game.") + //feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return 1 else - alert("Game has already started you fucking jerk, stop spamming up the chat :ARGH:") + usr << "Error: Start Now: Game has already started." return 0 /obj/admins/proc/toggleenter() @@ -2477,6 +2557,7 @@ var/global/BSACooldown = 0 log_admin("[key_name(usr)] toggled new player game entering.") message_admins("\blue [key_name_admin(usr)] toggled new player game entering.", 1) world.update_status() + //feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggleAI() set category = "Server" @@ -2489,6 +2570,7 @@ var/global/BSACooldown = 0 world << "The AI job is chooseable now." log_admin("[key_name(usr)] toggled AI allowed.") world.update_status() + //feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggleaban() set category = "Server" @@ -2502,6 +2584,7 @@ var/global/BSACooldown = 0 message_admins("\blue [key_name_admin(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].", 1) log_admin("[key_name(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].") world.update_status() + //feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggle_aliens() set category = "Server" @@ -2510,6 +2593,7 @@ var/global/BSACooldown = 0 aliens_allowed = !aliens_allowed log_admin("[key_name(usr)] toggled Aliens to [aliens_allowed].") message_admins("[key_name_admin(usr)] toggled Aliens [aliens_allowed ? "on" : "off"].", 1) + //feedback_add_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggle_space_ninja() set category = "Server" @@ -2518,6 +2602,7 @@ var/global/BSACooldown = 0 toggle_space_ninja = !toggle_space_ninja log_admin("[key_name(usr)] toggled Space Ninjas to [toggle_space_ninja].") message_admins("[key_name_admin(usr)] toggled Space Ninjas [toggle_space_ninja ? "on" : "off"].", 1) + //feedback_add_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/delay() set category = "Server" @@ -2538,6 +2623,7 @@ var/global/BSACooldown = 0 else world << "The game will start soon." log_admin("[key_name(usr)] removed the delay.") + //feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/adjump() set category = "Server" @@ -2545,6 +2631,7 @@ var/global/BSACooldown = 0 set name="Toggle Jump" config.allow_admin_jump = !(config.allow_admin_jump) message_admins("\blue Toggled admin jumping to [config.allow_admin_jump].") + //feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/adspawn() set category = "Server" @@ -2552,6 +2639,7 @@ var/global/BSACooldown = 0 set name="Toggle Spawn" config.allow_admin_spawning = !(config.allow_admin_spawning) message_admins("\blue Toggled admin item spawning to [config.allow_admin_spawning].") + //feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/adrev() set category = "Server" @@ -2559,6 +2647,7 @@ var/global/BSACooldown = 0 set name="Toggle Revive" config.allow_admin_rev = !(config.allow_admin_rev) message_admins("\blue Toggled reviving to [config.allow_admin_rev].") + //feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/immreboot() set category = "Server" @@ -2569,8 +2658,9 @@ var/global/BSACooldown = 0 world << "\red Rebooting world! \blue Initiated by [usr.client.stealth ? "Admin" : usr.key]!" log_admin("[key_name(usr)] initiated an immediate reboot.") - feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]") - feedback_set_details("round_end","[time2text(world.realtime)]") + //feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]") + //feedback_add_details("admin_verb","IR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + if(blackbox) blackbox.save_all_data_to_sql() @@ -2586,6 +2676,7 @@ var/global/BSACooldown = 0 else deadchat = 0 usr << "Deadchat turned off" + //feedback_add_details("admin_verb","TDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggleprayers() set category = "Admin" @@ -2597,6 +2688,7 @@ var/global/BSACooldown = 0 else seeprayers = 0 usr << "Prayer visibility turned off" + //feedback_add_details("admin_verb","TP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/unprison(var/mob/M in world) set category = "Admin" @@ -2610,6 +2702,7 @@ var/global/BSACooldown = 0 alert("Admin jumping disabled") else alert("[M.name] is not prisoned.") + //feedback_add_details("admin_verb","UP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS @@ -2704,10 +2797,10 @@ var/global/BSACooldown = 0 log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])") - else alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null) return + //feedback_add_details("admin_verb","SA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/show_traitor_panel(var/mob/M in world) @@ -2719,6 +2812,7 @@ var/global/BSACooldown = 0 usr << "Sorry, this mob has no mind!" return M.mind.edit_memory() + //feedback_add_details("admin_verb","STP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /obj/admins/proc/toggletintedweldhelmets() @@ -2732,6 +2826,7 @@ var/global/BSACooldown = 0 world << "The tinted_weldhelh has been disabled!" log_admin("[key_name(usr)] toggled tinted_weldhelh.") message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1) + //feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /* /obj/admins/proc/toggleguests() @@ -2745,6 +2840,7 @@ var/global/BSACooldown = 0 world << "Guests may now enter the game." log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.") message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1) + //feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! */ @@ -2766,6 +2862,7 @@ var/global/BSACooldown = 0 "} usr << browse(output,"window=server_logfile") onclose(usr,"server_logfile") + //feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /obj/admins/proc/view_atk_log() @@ -2793,6 +2890,7 @@ var/global/BSACooldown = 0 set category = "Admin" if (src.holder) src.holder.unjobbanpanel() + //feedback_add_details("admin_verb","UJBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return*/ diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e6f331a80a2..d03457cf60d 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -122,7 +122,7 @@ world << "Aborting world restart!" return - feedback_set_details("end_error","no live players") + //feedback_set_details("end_error","no live players") if(blackbox) blackbox.save_all_data_to_sql() diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index be79f1aaf4f..721c5f00f70 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -132,19 +132,19 @@ var/obj/machinery/blackbox_recorder/blackbox use_power = 1 idle_power_usage = 10 active_power_usage = 100 - var/messages = list() - var/messages_admin = list() + var/list/messages = list() //Stores messages of non-standard frequencies + var/list/messages_admin = list() - var/msg_common = list() - var/msg_science = list() - var/msg_command = list() - var/msg_medical = list() - var/msg_engineering = list() - var/msg_security = list() - var/msg_deathsquad = list() - var/msg_syndicate = list() - var/msg_mining = list() - var/msg_cargo = list() + var/list/msg_common = list() + var/list/msg_science = list() + var/list/msg_command = list() + var/list/msg_medical = list() + var/list/msg_engineering = list() + var/list/msg_security = list() + var/list/msg_deathsquad = list() + var/list/msg_syndicate = list() + var/list/msg_mining = list() + var/list/msg_cargo = list() var/list/datum/feedback_variable/feedback = new() @@ -188,10 +188,43 @@ var/obj/machinery/blackbox_recorder/blackbox proc/get_round_feedback() return feedback + proc/round_end_data_gathering() + + var/pda_msg_amt = 0 + var/rc_msg_amt = 0 + + for(var/obj/machinery/message_server/MS in world) + if(MS.pda_msgs.len > pda_msg_amt) + pda_msg_amt = MS.pda_msgs.len + if(MS.rc_msgs.len > rc_msg_amt) + rc_msg_amt = MS.rc_msgs.len +/* + feedback_set_details("radio_usage","") + + feedback_add_details("radio_usage","COM-[msg_common.len]") + feedback_add_details("radio_usage","SCI-[msg_science.len]") + feedback_add_details("radio_usage","HEA-[msg_command.len]") + feedback_add_details("radio_usage","MED-[msg_medical.len]") + feedback_add_details("radio_usage","ENG-[msg_engineering.len]") + feedback_add_details("radio_usage","SEC-[msg_security.len]") + feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]") + feedback_add_details("radio_usage","SYN-[msg_syndicate.len]") + feedback_add_details("radio_usage","MIN-[msg_mining.len]") + feedback_add_details("radio_usage","CAR-[msg_cargo.len]") + feedback_add_details("radio_usage","OTH-[messages.len]") + feedback_add_details("radio_usage","PDA-[pda_msg_amt]") + feedback_add_details("radio_usage","RC-[rc_msg_amt]") + + + feedback_set_details("round_end","[time2text(world.realtime)]") //This one MUST be the last one that gets set. +*/ + //This proc is only to be called at round end. proc/save_all_data_to_sql() if(!feedback) return + round_end_data_gathering() //round_end time logging and some other data processing + var/user = sqlfdbklogin var/pass = sqlfdbkpass var/db = sqlfdbkdb From b6dd4e0d15b095137c66086c0b1fc842414f7b95 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 21:09:10 +0100 Subject: [PATCH 19/23] TG: Juggernauts no longer take damage from punching. Juggernauts are no longer able to be grabbed (and therefore choked or thrown) Revision: r3112 Author: kortgstation --- code/modules/mob/simple_animal/life.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/simple_animal/life.dm b/code/modules/mob/simple_animal/life.dm index 7c780a9d0f1..29da09bb6ed 100644 --- a/code/modules/mob/simple_animal/life.dm +++ b/code/modules/mob/simple_animal/life.dm @@ -271,6 +271,8 @@ if ("grab") if (M == src) return + if (nopush) + return var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M ) G.assailant = M if (M.hand) From bae7ec23d9e81911ab0ebf7ba505135c539c3c31 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 21:16:52 +0100 Subject: [PATCH 20/23] TG: - Desk lamps are now just fancy flashlights. Which means you can pick them up. They have w_class set to 4 and don't have the onbelt flag, meaning you can't put them in any container and you can't put them in a pocket. Click on them to pick them up, use the toggle-light verb to turn them on or off. They are no longer affected by light switches (desk lights generally aren't anyway) - Updated lamp type path on both uterus and 2.0.8 Revision: r3115 Author: baloh.matevz --- code/game/objects/devices/flashlight.dm | 44 ++++++++++++++++++++----- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm index 54fef1dd26b..ddbff34c407 100644 --- a/code/game/objects/devices/flashlight.dm +++ b/code/game/objects/devices/flashlight.dm @@ -13,18 +13,36 @@ icon_on = "flight1" icon_off = "flight0" +/obj/item/device/flashlight/initialize() + ..() + if (on) + icon_state = icon_on + src.sd_SetLuminosity(brightness_on) + else + icon_state = icon_off + src.sd_SetLuminosity(0) + +/obj/item/device/flashlight/proc/update_brightness(var/mob/user = null) + if (on) + icon_state = icon_on + if(src.loc == user) + user.total_luminosity += brightness_on + else if (isturf(src.loc)) + src.sd_SetLuminosity(brightness_on) + + else + icon_state = icon_off + if(src.loc == user) + user.total_luminosity -= brightness_on + else if (isturf(src.loc)) + src.sd_SetLuminosity(0) /obj/item/device/flashlight/attack_self(mob/user) if(!isturf(user.loc)) user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities. return on = !on - if (on) - icon_state = icon_on - user.total_luminosity += brightness_on - else - icon_state = icon_off - user.total_luminosity -= brightness_on + update_brightness(user) return @@ -64,8 +82,8 @@ /obj/item/device/flashlight/pickup(mob/user) if(on) - src.sd_SetLuminosity(0) user.total_luminosity += brightness_on + src.sd_SetLuminosity(0) /obj/item/device/flashlight/dropped(mob/user) @@ -136,10 +154,20 @@ /obj/item/clothing/head/helmet/hardhat/pickup(mob/user) if(on) - src.sd_SetLuminosity(0) user.total_luminosity += brightness_on + user.UpdateLuminosity() + src.sd_SetLuminosity(0) /obj/item/clothing/head/helmet/hardhat/dropped(mob/user) if(on) user.total_luminosity -= brightness_on + user.UpdateLuminosity() src.sd_SetLuminosity(brightness_on) + +/obj/item/device/flashlight/lamp/verb/toggle_light() + set name = "Toggle light" + set category = "Object" + set src in oview(1) + + if(!usr.stat) + attack_self(usr) \ No newline at end of file From 4831ed77f7e7e0dea247584095f9c4ff59f62040 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 21:43:11 +0100 Subject: [PATCH 21/23] Fix for admins not seeing ghost chat. --- code/modules/admin/admin_verbs.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 3f2b11e04a1..728248df05c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -181,6 +181,9 @@ //Trial Admin if (holder.level >= 3) + deadchat = 1 + seeprayers = 1 + verbs += /obj/admins/proc/toggleaban //abandon mob verbs += /obj/admins/proc/show_traitor_panel verbs += /client/proc/cmd_admin_remove_plasma From c4a1dd4f0f7076c183a839303703245844cb956c Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 21:55:00 +0100 Subject: [PATCH 22/23] Fix for health scanner not switching modes. --- code/game/objects/devices/scanners.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 103d7c2a990..2c7815de4c8 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -290,7 +290,7 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob) user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.getOxyLoss() > 50 ? "\red [M.getOxyLoss()]" : M.getOxyLoss(), M.getToxLoss() > 50 ? "\red [M.getToxLoss()]" : M.getToxLoss(), M.getFireLoss() > 50 ? "\red[M.getFireLoss()]" : M.getFireLoss(), M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1) user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) - if(istype(M, /mob/living/carbon/human)) + if(mode == 1 && istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/list/damaged = H.get_damaged_organs(1,1) user.show_message("\blue Localized Damage, Brute/Burn:",1) @@ -299,6 +299,7 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob) user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.getDisplayName()),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1) else user.show_message("\blue \t Limbs are OK.",1) + if((M.changeling && M.changeling.changeling_fakedeath) || (M.reagents && M.reagents.has_reagent("zombiepowder"))) user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.getToxLoss() > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.getFireLoss() > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1) else From bf41978ed03ded9ae27bac724f0a83a5d72c324e Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Sun, 22 Apr 2012 22:00:14 +0100 Subject: [PATCH 23/23] Reverts access changes and adds be syndicate line to setup_client proc. --- code/game/jobs/access.dm | 14 ++++++-------- code/modules/mob/new_player/preferences.dm | 1 + 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 82c5475e399..c37c7937b90 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -143,14 +143,13 @@ return 1 if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in I.access) //has an access from the single access list return 1 - return 0 + for(var/req in src.req_access) + if(!(req in I.access)) //doesn't have this access + return 0 return 1 @@ -160,14 +159,13 @@ if(!src.req_access.len && (!src.req_one_access || !src.req_one_access.len)) return 1 if(!L) return 0 if(!istype(L, /list)) return 0 - for(var/req in src.req_access) - if(!(req in L)) //doesn't have this access - return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in L) //has an access from the single access list return 1 - return 0 + for(var/req in src.req_access) + if(!(req in L)) //doesn't have this access + return 0 return 1 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 01ff30befdc..e9cc815edf1 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -988,6 +988,7 @@ datum/preferences C.ooccolor = src.ooccolor C.be_alien = be_special & BE_ALIEN C.be_pai = be_special & BE_PAI + C.be_syndicate = be_special if(isnull(src.ghost_ears)) src.ghost_ears = 1 //There were problems where the default was null before someone saved their profile. C.ghost_ears = src.ghost_ears