Skip to content

Commit

Permalink
New methods to obtain quirk NIFs
Browse files Browse the repository at this point in the history
- Adds quirk NIFs to Lust Wish vendor
- Adds brainwashing NIF to research
- Adds unused NIF design datums
- Removes quirk NIFs from the software list
  • Loading branch information
LeDrascol committed Nov 1, 2024
1 parent 02db7c0 commit 555e211
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,7 @@ GLOBAL_LIST_INIT(purchasable_nifsofts, list(
/datum/nifsoft/soulcatcher,
/datum/nifsoft/scryer,
/datum/nifsoft/summoner/book,
/datum/nifsoft/action_granter/hypnosis,
// SPLURT EDIT
/datum/nifsoft/action_granter/free/nif_disrobe,
/datum/nifsoft/action_granter/free/nif_hide_backpack,
/datum/nifsoft/action_granter/free/nif_gfluid,
// SPLURT EDIT END
/datum/nifsoft/action_granter/hypnosis
))

/datum/computer_file/program/nifsoft_downloader
Expand Down
35 changes: 35 additions & 0 deletions modular_zzplurt/code/modules/modular_implants/code/nif_research.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Add NIFs to alien surgery node
/datum/techweb_node/alien_surgery/New()
design_ids += list(
"nifsoft_hypno_brainwash",
)
return ..()

// Design for brainwash NIFSoft
/datum/design/nifsoft_hud/nifsoft_hypno_brainwash
name = "Mesmer Eye NIFSoft"
desc = "A NIFSoft datadisk containing the experimental Mesmer Eye NIFsoft."
id = "nifsoft_hypno_brainwash"
build_path = /obj/item/disk/nifsoft_uploader/dorms/hypnosis/brainwashing
//departmental_flags = DEPARTMENT_BITFLAG_MEDICAL

// Design for storage concealment NIFSoft
/datum/design/nifsoft_hud/nifsoft_storage_concealment
name = "Storage Concealment NIFSoft"
desc = "A NIFSoft datadisk containing the Storage Concealment NIFsoft."
id = "nifsoft_storage_concealment"
build_path = /obj/item/disk/nifsoft_uploader/nif_hide_backpack_disk

// Design for rapid disrobe NIFSoft
/datum/design/nifsoft_hud/nifsoft_rapid_disrobe
name = "Emergency Clothing Disruption NIFSoft"
desc = "A NIFSoft datadisk containing the Emergency Clothing Disruption NIFsoft."
id = "nifsoft_rapid_disrobe"
build_path = /obj/item/disk/nifsoft_uploader/dorms/nif_disrobe_disk

// Design for genital fluid NIFSoft
/datum/design/nifsoft_hud/nifsoft_gfluid
name = "Genital Fluid Inducer NIFSoft"
desc = "A NIFSoft datadisk containing the Genital Fluid Inducer NIFsoft."
id = "nifsoft_gfluid"
build_path = /obj/item/disk/nifsoft_uploader/dorms/nif_gfluid_disk
20 changes: 20 additions & 0 deletions modular_zzplurt/code/modules/vending/lustwish.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#define STOCK_NIFSOFT 6

// Based on Skyrat's vending overrides
/obj/machinery/vending/dorms
// New premium items
zzplurt_premium = list(
// Original software
// This is in the PDA
/*
/obj/item/disk/nifsoft_uploader/dorms/hypnosis = STOCK_NIFSOFT,
/obj/item/disk/nifsoft_uploader/shapeshifter = STOCK_NIFSOFT,
*/

// New software
/obj/item/disk/nifsoft_uploader/dorms/nif_disrobe_disk = STOCK_NIFSOFT,
/obj/item/disk/nifsoft_uploader/nif_hide_backpack_disk = STOCK_NIFSOFT,
/obj/item/disk/nifsoft_uploader/dorms/nif_gfluid_disk = STOCK_NIFSOFT,
)

#undef STOCK_NIFSOFT
46 changes: 46 additions & 0 deletions modular_zzplurt/code/modules/vending/vending.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Taken from Modular Vending in Bubber
// All entries will become null after Initialize, to free up memory.

/obj/machinery/vending
// Additions to the `products` list
var/list/zzplurt_products
// Additions to the `product_categories` list
var/list/zzplurt_product_categories
// Additions to the `premium` list
var/list/zzplurt_premium
// Additions to the `contraband` list
var/list/zzplurt_contraband

/obj/machinery/vending/Initialize(mapload)
if(zzplurt_products)
// We need this, because duplicates screw up the spritesheet!
for(var/item_to_add in zzplurt_products)
products[item_to_add] = zzplurt_products[item_to_add]

if(zzplurt_product_categories)
for(var/category in zzplurt_product_categories)
var/already_exists = FALSE
for(var/existing_category in product_categories)
if(existing_category["name"] == category["name"])
existing_category["products"] += category["products"]
already_exists = TRUE
break

if(!already_exists)
product_categories += category

if(zzplurt_premium)
// We need this, because duplicates screw up the spritesheet!
for(var/item_to_add in zzplurt_premium)
premium[item_to_add] = zzplurt_premium[item_to_add]

if(zzplurt_contraband)
// We need this, because duplicates screw up the spritesheet!
for(var/item_to_add in zzplurt_contraband)
contraband[item_to_add] = zzplurt_contraband[item_to_add]

QDEL_NULL(zzplurt_products)
QDEL_NULL(zzplurt_product_categories)
QDEL_NULL(zzplurt_premium)
QDEL_NULL(zzplurt_contraband)
return ..()
3 changes: 3 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -9484,6 +9484,7 @@
#include "modular_zzplurt\code\modules\mob\living\carbon\human\species.dm"
#include "modular_zzplurt\code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
#include "modular_zzplurt\code\modules\modular_implants\code\nif_implants.dm"
#include "modular_zzplurt\code\modules\modular_implants\code\nif_research.dm"
#include "modular_zzplurt\code\modules\modular_implants\code\nifsofts\brainwashing.dm"
#include "modular_zzplurt\code\modules\modular_implants\code\nifsofts\gfluid.dm"
#include "modular_zzplurt\code\modules\modular_implants\code\nifsofts\hypnosis.dm"
Expand All @@ -9509,6 +9510,8 @@
#include "modular_zzplurt\code\modules\surgery\organs\internal\cyberimp\augments_chest.dm"
#include "modular_zzplurt\code\modules\surgery\organs\internal\eyes\_eyes.dm"
#include "modular_zzplurt\code\modules\surgery\organs\internal\tongue\_tongue.dm"
#include "modular_zzplurt\code\modules\vending\lustwish.dm"
#include "modular_zzplurt\code\modules\vending\vending.dm"
#include "modular_zzplurt\code\modules\wiremod\core\integrated_circuit.dm"
// END_INCLUDE

0 comments on commit 555e211

Please sign in to comment.