diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 0dc518f992a..adf1d6ebb07 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -420,6 +420,8 @@
msg += "Criminal status: \[[criminal]\]\n"
//msg += "\[Set Hostile Identification\]\n"
+ if(print_flavor_text()) msg += "[print_flavor_text()]\n"
+
msg += "*---------*"
usr << msg
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 6de7f4848e3..0be75596a90 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -327,6 +327,31 @@ var/list/slot_equipment_priority = list( \
if (popup)
memory()
+/mob/proc/update_flavor_text()
+ set src in usr
+ if(usr != src)
+ usr << "No."
+ var/msg = input(usr,"Set the flavor text in your 'examine' verb. Can also be used for OOC notes about your character.","Flavor Text",html_decode(flavor_text)) as message|null
+
+ if(msg != null)
+ msg = copytext(msg, 1, MAX_MESSAGE_LEN)
+ msg = html_encode(msg)
+
+ flavor_text = msg
+
+/mob/proc/warn_flavor_changed()
+ if(flavor_text && flavor_text != "") // don't spam people that don't use it!
+ src << "
OOC Warning:
"
+ src << "Your flavor text is likely out of date! Change"
+
+/mob/proc/print_flavor_text()
+ if (flavor_text && flavor_text != "")
+ var/msg = dd_replacetext(flavor_text, "\n", " ")
+ if(lentext(msg) <= 40)
+ return "\blue [msg]"
+ else
+ return "\blue [copytext(msg, 1, 37)]... More..."
+
/*
/mob/verb/help()
set name = "Help"
@@ -535,6 +560,12 @@ var/list/slot_equipment_priority = list( \
var/t1 = text("window=[href_list["mach_close"]]")
machine = null
src << browse(null, t1)
+
+ if(href_list["flavor_more"])
+ usr << browse(text("[][]", name, dd_replacetext(flavor_text, "\n", "
")), text("window=[];size=500x200", name))
+ onclose(usr, "[name]")
+ if(href_list["flavor_change"])
+ update_flavor_text()
// ..()
return
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index b8be9342e5e..dc14da1826e 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -63,6 +63,7 @@
var/slurring = null //Carbon
var/real_name = null
// var/original_name = null //Original name is only used in ghost chat! Depracated, now used bb
+ var/flavor_text = ""
var/blinded = null
var/bhunger = 0 //Carbon
var/ajourn = 0
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 783cd68ca58..d226be17772 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -1062,6 +1062,8 @@ datum/preferences
if(character.dna)
character.dna.real_name = character.real_name
+ character.flavor_text = flavor_text
+
character.gender = gender
character.age = age
diff --git a/config/admins.txt b/config/admins.txt
index 8e13eba12da..b485f2d895e 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -5,6 +5,7 @@ cacophony - Game Admin
cajoes - Game Admin
cib - Retired Admin
compactninja - Retired Admin
+darktechnomancer - Game Master
duntadaman - Game Admin
dysthymia - Retired Admin
doughnuts - Game Admin