From 7528570b1bb63a2a459187984230a075da81bb2b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Feb 2013 15:51:07 +0400 Subject: [PATCH 01/10] Added verb to toggle deadchat to everyone who can hear it. Mods now can ghostjump again. --- code/modules/admin/admin_verbs.dm | 2 +- code/modules/admin/topic.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index ae36eb7d6fe..a6bd72654db 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -7,6 +7,7 @@ var/list/admin_verbs_default = list( /client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/ /client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/ /client/proc/check_antagonists, /*shows all antags*/ + /client/proc/deadchat /*toggles deadchat on/off*/ ) var/list/admin_verbs_admin = list( /client/proc/player_panel, /*shows an interface for all players, with links to various panels (old style)*/ @@ -46,7 +47,6 @@ var/list/admin_verbs_admin = list( /client/proc/check_words, /*displays cult-words*/ /client/proc/check_ai_laws, /*shows AI and borg laws*/ /client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/ - /client/proc/deadchat, /*toggles deadchat on/off*/ /client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/ /client/proc/toggleprayers, /*toggles prayers on/off*/ // /client/proc/toggle_hear_deadcast, /*toggles whether we hear deadchat*/ diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a9df874c595..6c2b7330229 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1254,7 +1254,7 @@ show_player_panel(M) else if(href_list["adminplayerobservejump"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return var/mob/M = locate(href_list["adminplayerobservejump"]) From fdb2bd0e76959cf9e4d1a103696702db6a433ae3 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Feb 2013 15:53:53 +0400 Subject: [PATCH 02/10] Fixes issues with stool grabbing. Stool children no longer can be taken in hand like papa stool. Hate this class structure. --- code/game/objects/structures/stool_bed_chair_nest/bed.dm | 5 ++++- code/game/objects/structures/stool_bed_chair_nest/chairs.dm | 3 --- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 19bb40f5620..cffd2347775 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -30,6 +30,9 @@ manual_unbuckle(user) return +/obj/structure/stool/bed/MouseDrop(atom/over_object) + return + /obj/structure/stool/bed/MouseDrop_T(mob/M as mob, mob/user as mob) if(!istype(M)) return buckle_mob(M, user) @@ -151,4 +154,4 @@ new/obj/item/roller(get_turf(src)) spawn(0) del(src) - return + return diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 762888a4b43..4176d3cd62a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -3,9 +3,6 @@ desc = "You sit in this. Either by will or force." icon_state = "chair" -/obj/structure/stool/MouseDrop(atom/over_object) - return - /obj/structure/stool/bed/chair/New() if(anchored) src.verbs -= /atom/movable/verb/pull From e68dcce602d6c7a85012303fd3b577ee96602bc4 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Feb 2013 16:44:15 +0400 Subject: [PATCH 03/10] Msay and adminhelps now go to admins and mods. --- code/modules/admin/verbs/adminhelp.dm | 11 +++++---- code/modules/admin/verbs/adminsay.dm | 34 +++++++-------------------- 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 6c96fa0f174..644ea5325cd 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -92,11 +92,12 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," //send this msg to all admins var/admin_number_afk = 0 for(var/client/X in admins) - if(X.is_afk()) - admin_number_afk++ - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg + if((R_ADMIN|R_MOD) & X.holder.rights) + if(X.is_afk()) + admin_number_afk++ + if(X.prefs.toggles & SOUND_ADMINHELP) + X << 'sound/effects/adminhelp.ogg' + X << msg //show it to the person adminhelping too src << "PM to-Admins: [original_msg]" diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index b1516b44fd4..b247a74f38d 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -14,11 +14,7 @@ for(var/client/C in admins) if(R_ADMIN & C.holder.rights) C << msg -/* admins << msg - else - msg = "ADMIN: [key_name(usr, 1)]: [msg]" - admins << msg -*/ + feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mod_say(msg as text) @@ -26,29 +22,17 @@ set name = "Msay" set hidden = 1 - if (!src.holder) - src << "Only administrators may use this command." - return - - //todo: what? why does this not compile - /*if (src.muted || src.muted_complete) - src << "You are muted." - return*/ + if(!check_rights(R_ADMIN|R_MOD)) return msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) log_admin("MOD: [key_name(src)] : [msg]") - if (!msg) return - //feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - for (var/mob/M in world) - if (M.client && M.client.holder) - if (check_rights(R_ADMIN,0)) - M << "MOD: [key_name(usr, M)] (JMP): [msg]" - else if (check_rights(R_MOD,0)) - M << "MOD: [key_name(usr, M)] (JMP): [msg]" - else if (src.holder.rank == "Admin Observer") - M << "MOD: [key_name(usr, M)]: [msg]" - + var/color = "mod" + if (check_rights(R_ADMIN,0)) + color = "adminmod" + msg = "MOD: [key_name(src)] (JMP): [msg]" + for(var/client/C in admins) + if((R_ADMIN|R_MOD) & C.holder.rights) + C << msg From db5b00cd61f951d5a155844a26174ee6402d7e6b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Feb 2013 17:17:39 +0400 Subject: [PATCH 04/10] Quick fix for mods not being able to access CA from some places --- code/modules/admin/player_panel.dm | 4 ++-- code/modules/admin/topic.dm | 7 +++++-- code/modules/admin/verbs/adminhelp.dm | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 444c2f67eed..097540fa588 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -83,7 +83,7 @@ body += "SM - " body += "JMP
" if(antagonist > 0) - body += "Antagonist"; + body += "Antagonist"; body += ""; @@ -194,7 +194,7 @@ Player panel
- Hover over a line to see more information - Check antagonists + Hover over a line to see more information - Check antagonists

diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 6c2b7330229..142adb0a3dd 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1263,6 +1263,9 @@ sleep(2) C.jumptomob(M) + else if(href_list["check_antagonist"]) + check_antagonists() + else if(href_list["adminplayerobservecoodjump"]) if(!check_rights(R_ADMIN)) return @@ -2197,8 +2200,6 @@ if(!job) continue dat += "job: [job.title], current_positions: [job.current_positions], total_positions: [job.total_positions]
" usr << browse(dat, "window=jobdebug;size=600x500") - if("check_antagonist") - check_antagonists() if("showailaws") output_ai_laws() if("showgm") @@ -2215,6 +2216,8 @@ dat += text("[][]", H.name, H.get_assignment()) dat += "" usr << browse(dat, "window=manifest;size=440x410") + if("check_antagonist") + check_antagonists() if("DNA") var/dat = "Showing DNA from blood.


" dat += "" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 644ea5325cd..597ffc6d06a 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(!mob) return //this doesn't happen var/ref_mob = "\ref[mob]" - msg = "\blue HELP: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) [ai_found ? " (CL)" : ""]: [msg]" + msg = "\blue HELP: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) [ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins var/admin_number_afk = 0 From 55479a7b99fb310b58709eb81da8264cec28b006 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 00:49:44 +0400 Subject: [PATCH 05/10] 'Only in effect if can_hold is not set' my ass. Fixed belts stil not accepting batons and tasers. --- code/game/objects/items/weapons/storage/belt.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index f0f8a3ce005..fcb00122873 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -106,6 +106,7 @@ icon_state = "securitybelt" item_state = "security"//Could likely use a better one. storage_slots = 7 + max_w_class = 3 can_hold = list( "/obj/item/weapon/grenade/flashbang", "/obj/item/weapon/reagent_containers/spray/pepper", From c0ce1bef8edc5404bef0fe00aac3ac3abe7022e2 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 01:01:57 +0400 Subject: [PATCH 06/10] SHUT UP VENDOMAT NO I DO NOT WANT THAT CANDY BAR --- code/game/machinery/vending.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 5ad8639246a..ac9ac1564b5 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -39,7 +39,7 @@ //var/emagged = 0 //Ignores if somebody doesn't have card access to that machine. var/seconds_electrified = 0 //Shock customers like an airlock. var/shoot_inventory = 0 //Fire items at customers! We're broken! - var/shut_up = 0 //Stop spouting those godawful pitches! + var/shut_up = 1 //Stop spouting those godawful pitches! var/extended_inventory = 0 //can we access the hidden inventory? var/panel_open = 0 //Hacking that vending machine. Gonna get a free candy bar. var/wires = 15 From f4b08b0923b07bca261bc413a02d8f63838f51b6 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 06:14:31 +0400 Subject: [PATCH 07/10] Made adminlog messages not visible to mods again. Return of attacklog spam (now toggleable) --- code/game/objects/items.dm | 1 + code/modules/admin/admin.dm | 11 ++++++----- code/modules/admin/admin_verbs.dm | 13 ++++++++++++- code/modules/projectiles/projectile.dm | 3 ++- code/setup.dm | 3 ++- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index faf10759c2c..964fe964353 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -226,6 +226,7 @@ user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" ) + msg_admin_attack("ATTACK: [user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") //BS12 EDIT ALG //spawn(1800) // this wont work right // M.lastattacker = null diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 9cf11ef187f..ab92cafbad4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -7,18 +7,19 @@ var/global/floorIsLava = 0 /proc/message_admins(var/msg) msg = "ADMIN LOG: [msg]" log_adminwarn(msg) - admins << msg + for(var/client/C in admins) + if(R_ADMIN & C.holder.rights) + C << msg -/* /proc/msg_admin_attack(var/text) //Toggleable Attack Messages var/rendered = "ADMIN LOG: [text]" log_adminwarn(rendered) for(var/client/C in admins) - if (C.holder.level >= 1) - if(!C.STFU_atklog) + if(R_ADMIN & C.holder.rights) + if(C.prefs.toggles & CHAT_ATTACKLOGS) var/msg = rendered C << msg -*/ + ///////////////////////////////////////////////////////////////////////////////////////////////Panels diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index a6bd72654db..c5389d6b01f 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -62,7 +62,8 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/show_player_info, /client/proc/free_slot, /*frees slot for chosen job*/ /client/proc/cmd_admin_change_custom_event, - /client/proc/cmd_admin_rejuvenate + /client/proc/cmd_admin_rejuvenate, + /client/proc/toggleattacklogs ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, @@ -707,3 +708,13 @@ var/list/admin_verbs_mod = list( if (job) job_master.FreeRole(job) return + +/client/proc/toggleattacklogs() + set name = "Toggle Attack Log Messages" + set category = "Preferences" + + prefs.toggles ^= CHAT_ATTACKLOGS + if (prefs.toggles & CHAT_ATTACKLOGS) + usr << "You now will get attack log messages" + else + usr << "You now won't get attack log messages" \ No newline at end of file diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 801d50fdd2b..cbeb12baaef 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -95,10 +95,11 @@ M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]") - + msg_admin_attack("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG else M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src.type]") + msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG spawn(0) if(A) diff --git a/code/setup.dm b/code/setup.dm index 91937331af8..afc08bd9892 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -620,8 +620,9 @@ var/list/TAGGERLOCATIONS = list("Disposals", #define CHAT_GHOSTSIGHT 128 #define CHAT_PRAYER 256 #define CHAT_RADIO 512 +#define CHAT_ATTACKLOGS 1024 -#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO) +#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS) #define BE_TRAITOR 1 #define BE_OPERATIVE 2 From 51b40054424ab09f49fe938eecc1313c2d068edc Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 06:52:36 +0400 Subject: [PATCH 08/10] Fixed emitter logging only workign for turning it off. --- code/modules/power/singularity/emitter.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 046f904db6e..cd761499fe2 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -70,6 +70,8 @@ user << "You turn on the [src]." src.shot_number = 0 src.fire_delay = 100 + message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) + log_game("Emitter turned on by [user.ckey]([user]) in ([x],[y],[z])") investigate_log("turned on by [user.key]","singulo") update_icon() else From 558a4799545b68dc4b42b24fa7ef4121313c35c1 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 07:05:41 +0400 Subject: [PATCH 09/10] Fix for Command Report runtime. --- code/modules/admin/verbs/randomverbs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index cc6acf89abf..5ab68c117fd 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -474,7 +474,7 @@ Traitors and the like can also be revived with the previous role mostly intact. switch(alert("Should this be announced to the general population?",,"Yes","No")) if("Yes") - command_alert(input, maintitle=customname); + command_alert(input, customname); if("No") world << "\red New NanoTrasen Update available at all communication consoles." From f9894599cf63fcfcefe93b3cfc160de1d6865aaa Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 07:23:27 +0400 Subject: [PATCH 10/10] Readded Show Skills verb --- code/modules/admin/admin_verbs.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c5389d6b01f..67f32a7188c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -63,7 +63,8 @@ var/list/admin_verbs_admin = list( /client/proc/free_slot, /*frees slot for chosen job*/ /client/proc/cmd_admin_change_custom_event, /client/proc/cmd_admin_rejuvenate, - /client/proc/toggleattacklogs + /client/proc/toggleattacklogs, + /datum/admins/proc/show_skills ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, @@ -224,6 +225,7 @@ var/list/admin_verbs_mod = list( /client/proc/cmd_mod_say, /datum/admins/proc/show_player_info, /client/proc/player_panel_new, + /datum/admins/proc/show_skills ) /client/proc/add_admin_verbs() if(holder)
NameDNABlood Type