From 8396c9fb3f8705c08def6b0b9947a716cdb97233 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 21:38:21 +0400 Subject: [PATCH 1/4] Fixed double definition of ethanol. Fixed issue with emotes being slurred up. --- code/modules/mob/living/carbon/human/say.dm | 3 ++- code/modules/reagents/Chemistry-Reagents.dm | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index c518b27a02d..70786c605eb 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -101,7 +101,8 @@ message = "[uppertext(message)]!!" //because I don't know how to code properly in getting vars from other files -Bro if (src.slurring) - message = slur(message) + if(copytext(message, 1, 2) != "*") + message = slur(message) ..(message) /mob/living/carbon/human/say_understands(var/other) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6c2fe77508e..7dd051367d1 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1651,7 +1651,7 @@ datum description = "A highly addictive stimulant extracted from the tobacco plant." reagent_state = LIQUID color = "#181818" // rgb: 24, 24, 24 - +/* ethanol name = "Ethanol" id = "ethanol" @@ -1685,7 +1685,7 @@ datum else usr << "It wasn't enough..." return - +*/ ammonia name = "Ammonia" id = "ammonia" @@ -1740,7 +1740,7 @@ datum if(2 to 50) M.sleeping += 1 if(51 to INFINITY) - M.sleeping += 1 + M.sleeping += 1 ..() return @@ -2593,7 +2593,7 @@ datum if(A.data) d += A.data M.dizziness +=dizzy_adj. - if(d >= slur_start && d < confused_start) + if(d >= slur_start && d < pass_out) if (!M:slurring) M:slurring = 1 M:slurring += slurr_adj if(d >= confused_start && prob(33)) From 058395a4ec8666542bf4f9b92e74112f77409bbf Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 6 Feb 2013 22:01:24 +0400 Subject: [PATCH 2/4] Now washign hands will update sprite. --- code/game/objects/structures/watercloset.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 9c501cb52cc..1f08c112306 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -336,6 +336,8 @@ if(M.loc != location) return //Person has moved away from the sink M.clean_blood() + if(ishuman(M)) + M:update_inv_gloves() for(var/mob/V in viewers(src, null)) V.show_message("\blue [M] washes their hands using \the [src].") From 5801385443737a7146a421cfd5879aa0a485e361 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 7 Feb 2013 02:37:35 +0400 Subject: [PATCH 3/4] Fix for alt titles not having access. --- code/game/jobs/job_controller.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index b33b954b0d4..03f577659a5 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -324,11 +324,10 @@ var/global/datum/controller/occupations/job_master if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf)) H.loc = S.loc - + var/alt_title = null if(H.mind) H.mind.assigned_role = rank - if (H.mind.role_alt_title) - rank = H.mind.role_alt_title + alt_title = H.mind.role_alt_title switch(rank) if("Cyborg") @@ -352,12 +351,12 @@ var/global/datum/controller/occupations/job_master new /obj/item/weapon/storage/box(BPK) H.equip_to_slot_or_del(BPK, slot_back,1) - H << "You are the [rank]." - H << "As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this." + H << "You are the [alt_title ? alt_title : rank]." + H << "As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this." if(job.req_admin_notify) H << "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp." - spawnId(H, rank, H.mind.role_alt_title) + spawnId(H, rank, alt_title) H.equip_to_slot_or_del(new /obj/item/device/radio/headset(H), slot_ears) // H.update_icons() return 1 From 47391841044dfd89355ffc0197c8d168d77c540b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 7 Feb 2013 03:40:01 +0400 Subject: [PATCH 4/4] OH GEE LET'S LET EVERYONE AND THEIR ADMIN OBSERVER MOM USE THESE VERBS NOTHING CAN POSSIBLY GO WRONG. Slapped rights checks on verbs in VV menu. --- code/datums/datumvars.dm | 44 ++++++++++++++----------- code/modules/admin/verbs/debug.dm | 1 + code/modules/admin/verbs/randomverbs.dm | 29 ++++++++-------- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index affe1171419..22ce356bf12 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -246,12 +246,15 @@ client if(ismob(D)) body += "" body += "" - body += "" body += "" body += "" - body += "" + + body += "" body += "" + + body += "" body += "" + body += "" if(ishuman(D)) body += "" @@ -399,6 +402,7 @@ client return html /client/proc/view_var_Topic(href, href_list, hsrc) + testing("[href]") //This should all be moved over to datum/admins/Topic() or something ~Carn if( (usr.client != src) || !src.holder ) return @@ -407,7 +411,7 @@ client //~CARN: for renaming mobs (updates their name, real_name, mind.name, their ID/PDA and datacore records). else if(href_list["rename"]) - if(!check_rights(0)) return + if(!check_rights(R_VAREDIT)) return var/mob/M = locate(href_list["rename"]) if(!istype(M)) @@ -422,7 +426,7 @@ client href_list["datumrefresh"] = href_list["rename"] else if(href_list["varnameedit"] && href_list["datumedit"]) - if(!check_rights(0)) return + if(!check_rights(R_VAREDIT)) return var/D = locate(href_list["datumedit"]) if(!istype(D,/datum) && !istype(D,/client)) @@ -432,7 +436,7 @@ client modify_variables(D, href_list["varnameedit"], 1) else if(href_list["varnamechange"] && href_list["datumchange"]) - if(!check_rights(0)) return + if(!check_rights(R_VAREDIT)) return var/D = locate(href_list["datumchange"]) if(!istype(D,/datum) && !istype(D,/client)) @@ -442,7 +446,7 @@ client modify_variables(D, href_list["varnamechange"], 0) else if(href_list["varnamemass"] && href_list["datummass"]) - if(!check_rights(0)) return + if(!check_rights(R_VAREDIT)) return var/atom/A = locate(href_list["datummass"]) if(!istype(A)) @@ -463,7 +467,7 @@ client href_list["datumrefresh"] = href_list["mob_player_panel"] else if(href_list["give_spell"]) - if(!check_rights(0)) return + if(!check_rights(R_ADMIN|R_FUN)) return var/mob/M = locate(href_list["give_spell"]) if(!istype(M)) @@ -474,7 +478,7 @@ client href_list["datumrefresh"] = href_list["give_spell"] else if(href_list["give_disease"]) - if(!check_rights(0)) return + if(!check_rights(R_ADMIN|R_FUN)) return var/mob/M = locate(href_list["give_disease"]) if(!istype(M)) @@ -485,7 +489,7 @@ client href_list["datumrefresh"] = href_list["give_spell"] else if(href_list["ninja"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/M = locate(href_list["ninja"]) if(!istype(M)) @@ -528,7 +532,7 @@ client href_list["datumrefresh"] = href_list["build_mode"] else if(href_list["drop_everything"]) - if(!check_rights(0)) return + if(!check_rights(R_DEBUG|R_ADMIN)) return var/mob/M = locate(href_list["drop_everything"]) if(!istype(M)) @@ -550,7 +554,7 @@ client usr.client.cmd_assume_direct_control(M) else if(href_list["make_skeleton"]) - if(!check_rights(0)) return + if(!check_rights(R_FUN)) return var/mob/living/carbon/human/H = locate(href_list["make_skeleton"]) if(!istype(H)) @@ -604,7 +608,7 @@ client message_admins("\blue [key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ") else if(href_list["explode"]) - if(!check_rights(0)) return + if(!check_rights(R_DEBUG|R_FUN)) return var/atom/A = locate(href_list["explode"]) if(!isobj(A) && !ismob(A) && !isturf(A)) @@ -615,7 +619,7 @@ client href_list["datumrefresh"] = href_list["explode"] else if(href_list["emp"]) - if(!check_rights(0)) return + if(!check_rights(R_DEBUG|R_FUN)) return var/atom/A = locate(href_list["emp"]) if(!isobj(A) && !ismob(A) && !isturf(A)) @@ -650,7 +654,7 @@ client href_list["datumrefresh"] = href_list["rotatedatum"] else if(href_list["makemonkey"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makemonkey"]) if(!istype(H)) @@ -664,7 +668,7 @@ client holder.Topic(href, list("monkeyone"=href_list["makemonkey"])) else if(href_list["makerobot"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makerobot"]) if(!istype(H)) @@ -678,7 +682,7 @@ client holder.Topic(href, list("makerobot"=href_list["makerobot"])) else if(href_list["makealien"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makealien"]) if(!istype(H)) @@ -692,7 +696,7 @@ client holder.Topic(href, list("makealien"=href_list["makealien"])) else if(href_list["makeslime"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makeslime"]) if(!istype(H)) @@ -706,7 +710,7 @@ client holder.Topic(href, list("makeslime"=href_list["makeslime"])) else if(href_list["makeai"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makeai"]) if(!istype(H)) @@ -720,7 +724,7 @@ client holder.Topic(href, list("makeai"=href_list["makeai"])) else if(href_list["setmutantrace"]) - if(!check_rights(0)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["setmutantrace"]) if(!istype(H)) @@ -750,7 +754,7 @@ client M.regenerate_icons() else if(href_list["adjustDamage"] && href_list["mobToDamage"]) - if(!check_rights(0)) return + if(!check_rights(R_DEBUG|R_ADMIN|R_FUN)) return var/mob/living/L = locate(href_list["mobToDamage"]) if(!istype(L)) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index ef41b515c6f..c2b27b37165 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -407,6 +407,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set name = "Assume direct control" set desc = "Direct intervention" + if(!check_rights(R_DEBUG|R_ADMIN)) return if(M.ckey) if(alert("This mob is being controlled by [M.ckey]. Are you sure you wish to assume control of it? [M.ckey] will be made a ghost.",,"Yes","No") != "Yes") return diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 5ab68c117fd..cbdde7cca87 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -513,9 +513,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Explosion" - if (!holder) - src << "Only administrators may use this command." - return + if(!check_rights(R_DEBUG|R_FUN)) return var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null if(devastation == null) return @@ -543,9 +541,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "EM Pulse" - if (!holder) - src << "Only administrators may use this command." - return + if(!check_rights(R_DEBUG|R_FUN)) return var/heavy = input("Range of heavy pulse.", text("Input")) as num|null if(heavy == null) return @@ -567,9 +563,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Gib" - if (!holder) - src << "Only administrators may use this command." - return + if(!check_rights(R_ADMIN|R_FUN)) return var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return @@ -725,9 +719,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if ((!( ticker ) || emergency_shuttle.location)) return - if (!holder) - src << "Only administrators may use this command." - return + if(!check_rights(R_ADMIN)) return var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return @@ -750,7 +742,9 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/admin_cancel_shuttle() set category = "Admin" set name = "Cancel Shuttle" - if(!check_rights(0)) return + + if(!check_rights(R_ADMIN)) return + if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") return if(!ticker || emergency_shuttle.location || emergency_shuttle.direction == 0) @@ -770,9 +764,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if (!ticker) return - if (!holder) - src << "Only administrators may use this command." - return + if(!check_rights(R_ADMIN)) return emergency_shuttle.deny_shuttle = !emergency_shuttle.deny_shuttle @@ -794,6 +786,8 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Make Everyone Random" set desc = "Make everyone have a random appearance. You can only use this before rounds!" + if(!check_rights(R_FUN)) return + if (ticker && ticker.mode) usr << "Nope you can't do this, the game's already started. This only works before rounds!" return @@ -824,7 +818,10 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/toggle_random_events() set category = "Server" set name = "Toggle random events on/off" + set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" + if(!check_rights(R_SERVER)) return + if(!config.allow_random_events) config.allow_random_events = 1 usr << "Random events enabled"