diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index bedb652f38..36e3853295 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 9d86241dd1..12c7b23135 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 614ce79d4c..da4594d557 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 ed9fe0ae16..78cb2845bf 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 4988faa81e..b67978c2cf 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