diff --git a/modular_skyrat/modules/modular_implants/code/nifsoft_catalog.dm b/modular_skyrat/modules/modular_implants/code/nifsoft_catalog.dm index b4db64120e3..a7bbeb4cb02 100644 --- a/modular_skyrat/modules/modular_implants/code/nifsoft_catalog.dm +++ b/modular_skyrat/modules/modular_implants/code/nifsoft_catalog.dm @@ -66,6 +66,8 @@ GLOBAL_LIST_INIT(purchasable_nifsofts, list( for(var/datum/nifsoft/buyable_nifsoft as anything in GLOB.purchasable_nifsofts) if(!buyable_nifsoft) continue + if(initial(buyable_nifsoft.lewd_nifsoft) && CONFIG_GET(flag/disable_lewd_items)) + continue var/list/nifsoft_details = list( "name" = initial(buyable_nifsoft.name), diff --git a/modular_skyrat/modules/modular_implants/code/nifsofts.dm b/modular_skyrat/modules/modular_implants/code/nifsofts.dm index f53e61ced7c..bb3f4a5e9b1 100644 --- a/modular_skyrat/modules/modular_implants/code/nifsofts.dm +++ b/modular_skyrat/modules/modular_implants/code/nifsofts.dm @@ -45,6 +45,8 @@ var/rewards_points_eligible = TRUE ///Does the NIFSoft have anything that is saved cross-round? var/persistence = FALSE + ///Is it a lewd item? + var/lewd_nifsoft = FALSE /datum/nifsoft/New(obj/item/organ/internal/cyberimp/brain/nif/recepient_nif, no_rewards_points = FALSE) . = ..() @@ -146,9 +148,12 @@ ///Is the datadisk reusable? var/reusable = FALSE -/obj/item/disk/nifsoft_uploader/Initialize() +/obj/item/disk/nifsoft_uploader/Initialize(mapload) . = ..() + if(CONFIG_GET(flag/disable_lewd_items) && initial(loaded_nifsoft.lewd_nifsoft)) + return INITIALIZE_HINT_QDEL + name = "[initial(loaded_nifsoft.name)] datadisk" /obj/item/disk/nifsoft_uploader/examine(mob/user) diff --git a/modular_skyrat/modules/modular_implants/code/nifsofts/dorms.dm b/modular_skyrat/modules/modular_implants/code/nifsofts/dorms.dm index 98626dc86f4..a0f373b65b6 100644 --- a/modular_skyrat/modules/modular_implants/code/nifsofts/dorms.dm +++ b/modular_skyrat/modules/modular_implants/code/nifsofts/dorms.dm @@ -7,6 +7,7 @@ program_desc = "Grimoire Purpura, a fork of the Grimoire Caeruleam code, allows users to conveniently access an extensive database of various adult toys. " holographic_filter = FALSE //No RGB toys name_tag = "purpura " + lewd_nifsoft = TRUE //This uses a stripped down selection from the dorms vendor. summonable_items = list( @@ -94,6 +95,7 @@ name = "Purpura Contract" program_desc = "Once installed, the Purpura Contract compells the user to follow the rules stored in the data of the NIFSoft. \n OOC NOTE: This is strictly here for adult roleplay. None of the laws here actually need to be obeyed and you can uninstall this NIFSoft at any time." purchase_price = 0 + lewd_nifsoft = TRUE /// What "laws" does the person with this NIFSoft installed have? var/fake_laws = ""