diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm
index 133f6d10..84c502ba 100644
--- a/code/modules/admin/admin_memo.dm
+++ b/code/modules/admin/admin_memo.dm
@@ -1,9 +1,10 @@
#define MEMOFILE "data/memo.sav" //where the memos are saved
+#define PLAYERMEMOFILE "data/pmemo.sav" //where the player memos are saved
#define ENABLE_MEMOS 1 //using a define because screw making a config variable for it. This is more efficient and purty.
//switch verb so we don't spam up the verb lists with like, 3 verbs for this feature.
/client/proc/admin_memo(task in list("write","show","delete"))
- set name = "Memo"
+ set name = "Admin Memo"
set category = "Server"
if(!ENABLE_MEMOS) return
if(!check_rights(0)) return
@@ -50,5 +51,62 @@
F.dir.Remove(ckey)
src << "Removed Memo created by [ckey]."
+//switch verb so we don't spam up the verb lists with like, 3 verbs for this feature.
+/client/verb/memo_player()
+ set name = "Player Memo"
+ set category = "OOC"
+ if(!ENABLE_MEMOS) return
+ admin_memo_player_show()
+
+/client/proc/admin_memo_player(task in list("write","show","delete"))
+ set name = "Player Memo"
+ set category = "Server"
+
+ if(!ENABLE_MEMOS) return
+ if(!check_rights(0)) return
+ switch(task)
+ if("write") admin_memo_player_write()
+ if("show") admin_memo_player_show()
+ if("delete") admin_memo_player_delete()
+
+//write a message
+/client/proc/admin_memo_player_write()
+ var/savefile/F = new(PLAYERMEMOFILE)
+ if(F)
+ var/memo = input(src,"Type your memo\n(Leaving it blank will delete your current memo):","Write Memo",null) as null|message
+ switch(memo)
+ if(null)
+ return
+ if("")
+ F.dir.Remove(ckey)
+ src << "Memo removed"
+ return
+ if( findtext(memo,"