diff --git a/code/datums/keybindings/communication_keybinds.dm b/code/datums/keybindings/communication_keybinds.dm index 973317d8e28..0cdb00e77a7 100644 --- a/code/datums/keybindings/communication_keybinds.dm +++ b/code/datums/keybindings/communication_keybinds.dm @@ -66,7 +66,7 @@ /datum/keybinding/client/communication/asay name = ADMIN_CHANNEL keys = list("F5") - required_rights = R_ADMIN + required_rights = R_ADMIN | R_MOD /datum/keybinding/client/communication/dsay name = DSAY_CHANNEL diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index b1fe29dc906..59c373cbed5 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -101,6 +101,7 @@ // This area exists so that lavaland ruins dont overwrite the baseturfs on regular space ruins /area/ruin/unpowered/misc_lavaruin + outdoors = FALSE //'safe' caves /area/ruin/unpowered/safe_cave diff --git a/code/game/gamemodes/antag_paradise/antag_paradise.dm b/code/game/gamemodes/antag_paradise/antag_paradise.dm index 460ed81b9e1..7ac097ddd9c 100644 --- a/code/game/gamemodes/antag_paradise/antag_paradise.dm +++ b/code/game/gamemodes/antag_paradise/antag_paradise.dm @@ -103,7 +103,7 @@ if(ROLE_MALF_AI) if(special_antag_amount) - var/datum/mind/special_antag = roundstart ? safepick(get_players_for_role(ROLE_MALF_AI, req_job_rank = JOB_TITLE_AI)) : safepick(antag_possibilities[ROLE_MALF_AI]) + var/datum/mind/special_antag = safepick(antag_possibilities[ROLE_MALF_AI]) if(special_antag) special_antag.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI) special_antag.restricted_roles -= JOB_TITLE_AI @@ -215,6 +215,7 @@ antag_possibilities[ROLE_CHANGELING] = get_players_for_role(ROLE_CHANGELING) antag_possibilities[ROLE_TRAITOR] = get_players_for_role(ROLE_TRAITOR) antag_possibilities[ROLE_THIEF] = get_players_for_role(ROLE_THIEF, list(SPECIES_VOX = 4)) + antag_possibilities[ROLE_MALF_AI] = get_players_for_role(ROLE_MALF_AI) calculate_antags() diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 9530711dc9b..1f13a0cc00e 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -75,7 +75,6 @@ minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS) alt_titles = list("Brig Sergeant") minimal_player_age = 21 - min_age_allowed = 30 blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 2100 exp_type = EXP_TYPE_SECURITY diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 4a3ce6519da..0f98f4f00bf 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -156,7 +156,7 @@ if(burn_obj.resistance_flags & FIRE_PROOF) burn_obj.resistance_flags &= ~FIRE_PROOF if(burn_obj.armor.getRating(FIRE) > 50) //obj with 100% fire armor still get slowly burned away. - burn_obj.armor.setRating(fire_value = 50) + burn_obj.armor = burn_obj.armor.setRating(fire_value = 50) burn_obj.fire_act(exposed_temperature = temperature_damage, exposed_volume = 1000) return TRUE diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6dcbfa1797a..e94b2d95848 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -204,6 +204,7 @@ GLOBAL_LIST_INIT(admin_verbs_mod, list( /datum/admins/proc/PlayerNotes, /client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/ /client/proc/cmd_mentor_say, + /client/proc/cmd_admin_say, /*admin-only ooc chat*/ /datum/admins/proc/show_player_notes, /client/proc/player_panel_new, /client/proc/dsay, diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 69204b0f591..97cfd18f369 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -1,10 +1,12 @@ /client/proc/cmd_admin_say(msg as text) set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_MOD)) + return msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) return + if(!msg) + return msg = handleDiscordEmojis(msg) @@ -12,22 +14,21 @@ GLOB.asays += asay log_adminsay(msg, src) - if(check_rights(R_ADMIN,0)) - for(var/client/C in GLOB.admins) - if(R_ADMIN & C.holder.rights) - // Lets see if this admin was pinged in the asay message - if(findtext(msg, "@[C.ckey]") || findtext(msg, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 - SEND_SOUND(C, 'sound/misc/ping.ogg') - msg = replacetext(msg, "@[C.ckey]", "@[C.ckey]") - msg = replacetext(msg, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. + for(var/client/C in GLOB.admins) + if(check_rights(R_ADMIN|R_MOD, 0, C.mob)) + // Lets see if this admin was pinged in the asay message + if(findtext(msg, "@[C.ckey]") || findtext(msg, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 + SEND_SOUND(C, 'sound/misc/ping.ogg') + msg = replacetext(msg, "@[C.ckey]", "@[C.ckey]") + msg = replacetext(msg, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. - msg = "[msg]" - to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) + msg = "[msg]" + to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! /client/proc/get_admin_say() - if(check_rights(R_ADMIN, FALSE)) + if(check_rights(R_ADMIN|R_MOD, FALSE)) var/msg = input(src, null, "asay \"text\"") as text|null cmd_admin_say(msg) else if(check_rights(R_MENTOR)) diff --git a/strings/lobby_phrases.txt b/strings/lobby_phrases.txt index 4720fd3eaf9..40c9ea6b8cd 100644 --- a/strings/lobby_phrases.txt +++ b/strings/lobby_phrases.txt @@ -4,5 +4,5 @@ Также известно как SunSpace. ХОНК. Также попробуйте майнкрафт. -КМ никогда не будет главой! +КМ всегда был главой! Как менять руки?