diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index bedb652f381..36e38532957 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -302,7 +302,7 @@
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Code
msg += attempt_vr(src,"examine_pickup_size",args) //VOREStation Code
msg += attempt_vr(src,"examine_step_size",args) //VOREStation Code
- msg += attempt_vr(src,"nif_examine",args) //VOREStation Code
+ msg += attempt_vr(src,"examine_nif",args) //VOREStation Code
if(mSmallsize in mutations)
msg += "[T.He] [T.is] small halfling!\n"
diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm
index 9d86241dd12..12c7b231356 100644
--- a/code/modules/mob/living/carbon/human/examine_vr.dm
+++ b/code/modules/mob/living/carbon/human/examine_vr.dm
@@ -141,23 +141,18 @@
return FALSE
-/mob/living/carbon/human/proc/examine_pickup_size(mob/living/carbon/human/H)
+/mob/living/carbon/human/proc/examine_pickup_size(mob/living/H)
var/message = ""
- if(isliving(src) && (H.get_effective_size() - src.get_effective_size()) >= 0.50)
+ if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.50)
message = "They are small enough that you could easily pick them up!\n"
return message
-
-/mob/living/carbon/human/proc/examine_step_size(mob/living/carbon/human/H)
+/mob/living/carbon/human/proc/examine_step_size(mob/living/H)
var/message = ""
- if(isliving(src) && (H.get_effective_size() - src.get_effective_size()) >= 0.75)
+ if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.75)
message = "They are small enough that you could easily trample them!\n"
return message
-/mob/living/carbon/human/proc/nif_examine(mob/living/carbon/human/H)
- var/message = ""
- if(!src.nif || src.conceal_nif || !src.nif_examine) //Do they have a nif, do they have the NIF concealed, and do they have a NIF examine message?
- return "" //If so, no message.
- else
- message += "[src.nif_examine]\n"
- return message
+/mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H)
+ if(nif && nif.examine_msg) //If you have one set, anyway.
+ return "[nif.examine_msg]\n"
diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm
index 614ce79d4c8..da4594d5575 100644
--- a/code/modules/nifsoft/nif.dm
+++ b/code/modules/nifsoft/nif.dm
@@ -32,7 +32,8 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
var/tmp/list/nifsofts[TOTAL_NIF_SOFTWARE] // All our nifsofts
var/tmp/list/nifsofts_life = list() // Ones that want to be talked to on life()
var/owner // Owner character name
-
+ var/examine_msg //Message shown on examine.
+
var/tmp/vision_flags = 0 // Flags implants set for faster lookups
var/tmp/health_flags = 0
var/tmp/combat_flags = 0
@@ -69,6 +70,12 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
//Put loaded data here if we loaded any
save_data = islist(load_data) ? load_data.Copy() : list()
+ var/saved_examine_msg = save_data["examine_msg"]
+
+ //If it's an empty string, they want it blank. If null, it's never been saved, give default.
+ if(isnull(saved_examine_msg))
+ saved_examine_msg = "There's a certain spark to their eyes."
+ examine_msg = saved_examine_msg
//If given a human on spawn (probably from persistence)
if(ishuman(newloc))
@@ -110,6 +117,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
human = H
human.nif = src
stat = NIF_INSTALLING
+ H.verbs |= /mob/living/carbon/human/proc/set_nif_examine
return TRUE
return FALSE
@@ -138,6 +146,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
SC.brainmobs = list()
stat = NIF_PREINSTALL
vis_update()
+ H.verbs |= /mob/living/carbon/human/proc/set_nif_examine
H.nif = null
human = null
install_done = null
@@ -572,3 +581,25 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
playsound(T,'sound/effects/slime_squish.ogg',50,1)
else
return ..()
+
+/mob/living/carbon/human/proc/set_nif_examine()
+ set name = "NIF Appearance"
+ set desc = "If your NIF alters your appearance in some way, describe it here."
+ set category = "OOC"
+
+ if(!nif)
+ verbs -= /mob/living/carbon/human/proc/set_nif_examine
+ to_chat(src,"You don't have a NIF, not sure why this was here.")
+ return
+
+ var/new_flavor = sanitize(input(src,"Describe how your NIF alters your appearance, like glowy eyes or metal plate on your head, etc. Be sensible. Clear this for no examine text. 128ch max.","Describe NIF", nif.examine_msg) as null|text, max_length = 128)
+ //They clicked cancel or meanwhile lost their NIF
+ if(!nif || isnull(new_flavor))
+ return //No changes
+ //Sanitize or user cleaned it entirely
+ if(!new_flavor)
+ nif.examine_msg = ""
+ nif.save_data["examine_msg"] = ""
+ else
+ nif.examine_msg = new_flavor
+ nif.save_data["examine_msg"] = new_flavor
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index ed9fe0ae168..78cb2845bfe 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -15,8 +15,6 @@
var/vore_taste = null // What the character tastes like
var/no_vore = 0 // If the character/mob can vore.
var/openpanel = 0 // Is the vore panel open?
- var/conceal_nif = 0 // Do they wish to conceal their NIF from examine?
- var/nif_examine = "There's a certain spark to their eyes" //The examine text of their NIF. This is the default placeholder.
var/noisy = 0 // Toggle audible hunger.
var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr.
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
@@ -236,8 +234,6 @@
P.allowmobvore = src.allowmobvore
P.belly_prefs = src.vore_organs
P.vore_taste = src.vore_taste
- P.nif_examine = src.nif_examine
- P.conceal_nif = src.conceal_nif
P.can_be_drop_prey = src.can_be_drop_prey
P.can_be_drop_pred = src.can_be_drop_pred
@@ -257,8 +253,6 @@
src.allowmobvore = P.allowmobvore
src.vore_organs = list()
src.vore_taste = P.vore_taste
- src.nif_examine = P.nif_examine
- src.conceal_nif = P.conceal_nif
src.can_be_drop_prey = P.can_be_drop_prey
src.can_be_drop_pred = P.can_be_drop_pred
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index 4988faa81ec..b67978c2cf6 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -45,8 +45,6 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/allowmobvore = 1
var/list/belly_prefs = list()
var/vore_taste
- var/conceal_nif
- var/nif_examine
var/can_be_drop_prey
var/can_be_drop_pred
@@ -109,8 +107,6 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
S["allowmobvore"] >> allowmobvore
S["belly_prefs"] >> belly_prefs
S["vore_taste"] >> vore_taste
- S["conceal_nif"] >> conceal_nif
- S["nif_examine"] >> nif_examine
S["can_be_drop_prey"] >> can_be_drop_prey
S["can_be_drop_pred"] >> can_be_drop_pred
@@ -134,8 +130,6 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
S["allowmobvore"] << allowmobvore
S["belly_prefs"] << belly_prefs
S["vore_taste"] << vore_taste
- S["conceal_nif"] << conceal_nif
- S["nif_examine"] << nif_examine
S["can_be_drop_prey"] << can_be_drop_prey
S["can_be_drop_pred"] << can_be_drop_pred