diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 4036470cf7..0cc5cecb9d 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -38,13 +38,14 @@ var/turf_visible if(pixel_turf) turf_visible = cameranet.checkTurfVis(pixel_turf) - if(istype(loc, /obj/item/device/aicard) && (pixel_turf in view(client.view, loc))) - turf_visible = TRUE if(!turf_visible) - log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)])") - message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))") - send2admindiscord("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))") - return + if(istype(loc, /obj/item/device/aicard) && (pixel_turf in view(client.view, loc))) + turf_visible = TRUE + else + log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)])") + message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))") + send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))") + return var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["ctrl"]) diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index baff623a2d..d444aa8bb3 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -571,7 +571,7 @@ var/global/list/RPD_recipes=list( new /obj/item/pipe_meter(A) if(DISPOSALS_MODE) //Making disposals pipes - if(!is_anchored_dense_turf(A)) + if(is_anchored_dense_turf(A)) user << "The [src]'s error light flickers; there's something in the way!" return user << "You start building a disposals pipe..." @@ -609,4 +609,4 @@ var/global/list/RPD_recipes=list( #undef METER_MODE #undef DISPOSALS_MODE #undef CATEGORY_ATMOS -#undef CATEGORY_DISPOSALS +#undef CATEGORY_DISPOSALS \ No newline at end of file diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 38bd226074..be7a264f97 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -76,6 +76,7 @@ src.verbs |= /client/verb/adminhelp adminhelptimerid = 0 + /client/verb/adminhelp(msg as text) set category = "Admin" set name = "Adminhelp" @@ -90,7 +91,7 @@ return if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return - var/ref_mob = "\ref[mob]" + var/ref_client = "\ref[src]" for(var/datum/adminticket/T in admintickets) if(T.permckey == src.ckey && T.resolved == "No") @@ -99,7 +100,7 @@ if(T.admin == "N/A") usr << "Due to the fact your Adminhelp had no assigned admin, admins have been pinged." message_admins("[src.ckey] has bumped their adminhelp #[T.ID], still no assigned admin!") - msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]": [msg]" + msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]" for(var/client/X in admins) if(X.prefs.toggles & SOUND_ADMINHELP) X << 'sound/effects/adminhelp.ogg' @@ -134,8 +135,7 @@ if(T.permckey == src.ckey) ticket = T - msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]": [msg]" - + msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]" //send this msg to all admins @@ -150,7 +150,7 @@ src << "PM to-Admins: [original_msg]" //send it to irc if nobody is on and tell us how many were on - var/admin_number_present = send2irc_admin_notice_handler("adminhelp", ckey, original_msg) + var/admin_number_present = send2admindiscord("adminhelp", ckey, original_msg) log_admin("ADMINHELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.") feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index e6134d0c83..6092d7e9b9 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -1,5 +1,4 @@ #define IRCREPLYCOUNT 2 - //allows right clicking mobs to send an admin PM to their client, forwards the selected mob's client to cmd_admin_pm /client/proc/cmd_admin_pm_context(mob/M in mob_list) set category = null @@ -7,8 +6,7 @@ if(!holder) src << "Error: Admin-PM-Context: Only administrators may use this command." return - if( !ismob(M) || !M.client ) - return + if( !ismob(M) || !M.client ) return cmd_admin_pm(M.client,null) feedback_add_details("admin_verb","APMM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -22,15 +20,16 @@ var/list/client/targets[0] for(var/client/T) if(T.mob) - if(isnewplayer(T.mob)) + if(istype(T.mob, /mob/new_player)) targets["(New Player) - [T]"] = T - else if(isobserver(T.mob)) + else if(istype(T.mob, /mob/dead/observer)) targets["[T.mob.name](Ghost) - [T]"] = T else targets["[T.mob.real_name](as [T.mob.name]) - [T]"] = T else targets["(No Mob) - [T]"] = T - var/target = input(src,"To whom shall we send a message?","Admin PM",null) as null|anything in sortList(targets) + var/list/sorted = sortList(targets) + var/target = input(src,"To whom shall we send a message?","Admin PM",null) in sorted|null cmd_admin_pm(targets[target],null) feedback_add_details("admin_verb","APM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -46,8 +45,7 @@ else if(istype(whom,/client)) C = whom if(!C) - if(holder) - src << "Error: Admin-PM: Client not found." + if(holder) src << "Error: Admin-PM: Client not found." return var/datum/adminticket/ticket diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 701e7baff7..ae6d9e8730 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -92,12 +92,10 @@ last_zap = world.time var/coeff = (20 - ((input_power_multiplier - 1) * 3)) coeff = max(coeff, 10) - var/shock_coeff = (4 - (input_power_multiplier - 2)) - shock_coeff = max(shock_coeff, 2) - var/power = (powernet.avail/coeff) + var/power = (powernet.avail/2) add_load(power) playsound(src.loc, 'sound/magic/LightningShock.ogg', 100, 1, extrarange = 5) - tesla_zap(src, 10, power/shock_coeff) + tesla_zap(src, 10, power/(coeff/2)) /obj/machinery/power/grounding_rod name = "grounding rod" @@ -154,4 +152,4 @@ if(anchored && !panel_open) flick("grounding_rodhit", src) else - ..() + ..() \ No newline at end of file diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index e53258905e..d9ca78e7ff 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ