diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 98db047b886..a9dd96241d3 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -281,7 +281,7 @@ var/global/floorIsLava = 0
I.rank = "N/A"
update_file = 1
dat += "[I.content] by [I.author] ([I.rank]) on [I.timestamp] "
- if(I.author == usr.key || I.author == "Adminbot")
+ if(I.author == usr.key || I.author == "Adminbot" || ishost(usr))
dat += "Remove"
dat += "
"
if(update_file) info << infos
@@ -1146,7 +1146,20 @@ var/global/floorIsLava = 0
return "[key_name(C, link, name, highlight_special)](VV)(JMP)"
-
+/proc/ishost(whom)
+ if(!whom)
+ return 0
+ var/client/C
+ var/mob/M
+ if(istype(whom, /client))
+ C = whom
+ if(istype(whom, /mob))
+ M = whom
+ C = M.client
+ if(R_HOST & C.holder.rights)
+ return 1
+ else
+ return 0
//
//
//ALL DONE
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index a9e428953b8..90c5cc0f6a6 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -37,7 +37,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("stealth") rights |= R_STEALTH
if("rejuv","rejuvinate") rights |= R_REJUVINATE
if("varedit") rights |= R_VAREDIT
- if("everything","host","all") rights |= R_HOST
+ if("everything","host","all") rights |= R_HOST | R_BUILDMODE | R_ADMIN | R_BAN | R_FUN | R_SERVER | R_DEBUG | R_PERMISSIONS | R_POSSESS | R_STEALTH | R_REJUVINATE | R_VAREDIT | R_SOUNDS | R_SPAWN | R_MOD| R_MENTOR
if("sound","sounds") rights |= R_SOUNDS
if("spawn","create") rights |= R_SPAWN
if("mod") rights |= R_MOD
diff --git a/code/setup.dm b/code/setup.dm
index 4b64a0821ef..566f99f7248 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -629,10 +629,9 @@ var/list/liftable_structures = list(\
#define R_SPAWN 4096
#define R_MOD 8192
#define R_MENTOR 16384
+#define R_HOST 32768
-#define R_MAXPERMISSION 16384 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
-
-#define R_HOST 65535
+#define R_MAXPERMISSION 32768 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
//Preference toggles
#define SOUND_ADMINHELP 1