diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm
index 05cdfc65877..f5a5871edf3 100644
--- a/code/game/antagonist/antagonist.dm
+++ b/code/game/antagonist/antagonist.dm
@@ -218,6 +218,8 @@
if(flags & ANTAG_OVERRIDE_JOB)
player.assigned_role = null
player.special_role = null
- player.current.client.verbs -= /client/proc/aooc
+
+ if (!check_rights(R_ADMIN|R_MOD|R_CCIAA, 0, player.current))
+ player.current.client.verbs -= /client/proc/aooc
pending_antagonists.Cut()
candidates.Cut()
diff --git a/code/game/antagonist/antagonist_add.dm b/code/game/antagonist/antagonist_add.dm
index 9f9c828b59a..b7c1937d4d9 100644
--- a/code/game/antagonist/antagonist_add.dm
+++ b/code/game/antagonist/antagonist_add.dm
@@ -14,9 +14,9 @@
create_antagonist(player, move_to_spawn, do_not_announce, preserve_appearance)
if(!do_not_equip)
equip(player.current)
-
+
player.current.faction = faction
-
+
return 1
/datum/antagonist/proc/add_antagonist_mind(var/datum/mind/player, var/ignore_role, var/nonstandard_role_type, var/nonstandard_role_msg)
@@ -61,7 +61,7 @@
update_icons_removed(player)
BITSET(player.current.hud_updateflag, SPECIALROLE_HUD)
- if (!is_special_character(player) && !player.current.client.holder)
+ if (!is_special_character(player) && !check_rights(R_ADMIN|R_MOD|R_CCIAA, 0, player.current))
player.current.client.verbs -= /client/proc/aooc
return 1
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 115670ff268..0fd2e59bd16 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -374,7 +374,8 @@ var/list/admin_verbs_cciaa = list(
/client/proc/returntobody,
/client/proc/view_duty_log,
/datum/admins/proc/create_admin_fax,
- /client/proc/check_fax_history
+ /client/proc/check_fax_history,
+ /client/proc/aooc
)
/client/proc/add_admin_verbs()
diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm
index 8374292bba3..948c4e3585c 100644
--- a/code/modules/admin/verbs/antag-ooc.dm
+++ b/code/modules/admin/verbs/antag-ooc.dm
@@ -3,7 +3,7 @@
set name = "AOOC"
set desc = "Antagonist OOC"
- if (istype(src.mob, /mob/dead/observer) && !check_rights(R_ADMIN|R_MOD, 0))
+ if (istype(src.mob, /mob/dead/observer) && !check_rights(R_ADMIN|R_MOD|R_CCIAA, 0))
src << "You cannot use AOOC while ghosting/observing!"
return
@@ -22,7 +22,7 @@
display_name = holder.fakekey
for(var/mob/M in mob_list)
- if (check_rights(R_ADMIN|R_MOD, 0, M))
+ if (check_rights(R_ADMIN|R_MOD|R_CCIAA, 0, M))
M << "" + create_text_tag("aooc", "Antag-OOC:", M.client) + " [get_options_bar(src, 0, 1, 1)](JMP): [msg]"
else if (M.mind && M.mind.special_role && M.client)
M << "" + create_text_tag("aooc", "Antag-OOC:", M.client) + " [display_name]: [msg]"
diff --git a/html/changelogs/skull132-CCIAA_AOOC.yml b/html/changelogs/skull132-CCIAA_AOOC.yml
new file mode 100644
index 00000000000..dcec671873d
--- /dev/null
+++ b/html/changelogs/skull132-CCIAA_AOOC.yml
@@ -0,0 +1,6 @@
+author: Skull132
+
+delete-after: true
+
+changes:
+ - tweak: "CCIAA now have full access to AOOC, as per the decree of the Head Admins."