mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
Adds a new modsuit: The Lustwish Mod (#4218)
## About The Pull Request Sprites by Toriate, commissioned by me - This adds a new modsuit theme based off the standard modsuit which you can aquire the plate theme for from the lustwish. (You still need a modsuit to construct it with) - A modsuit version of the hypno googles - Added to entombed. ## Why It's Good For The Game I think people will find this fun ## Proof Of Testing <img width="220" height="258" alt="image" src="https://github.com/user-attachments/assets/e8a3cbe1-d1c0-4999-a26f-749fca58b41d" />  ## Changelog 🆑 add: New modsuit: Lustwish. You can aquire its construction plate from the lustwish or the loadout add: New entombed theme: Lustwish /🆑
This commit is contained in:
@@ -11,3 +11,14 @@ GLOBAL_LIST_INIT(chat_colors_by_mob_name, list(
|
||||
|
||||
#define BLOOD_COLOR_COPPER "#6E3B08"
|
||||
#define BLOOD_COLOR_NANITE_SLURRY "#CCCCCC"
|
||||
|
||||
/// Modsuit hardlight colors
|
||||
|
||||
#define STANDARD_BLUE "standard_blue"
|
||||
#define ALERT_AMBER "alert_amber"
|
||||
#define CONTRACTOR_RED "contractor_red"
|
||||
#define EXTRASHIELD_GREEN "extrashield_green"
|
||||
#define EVIL_GREEN "evil_green"
|
||||
#define ROYAL_PURPLE "royal_purple"
|
||||
#define HAZARD_ORANGE "hazard_orange"
|
||||
#define COSMIC_BLUE "cosmic_blue"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 148 KiB |
-18
@@ -2,15 +2,6 @@
|
||||
// Remember these are read from:
|
||||
// 'modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/icons/MOD_mask.dmi'
|
||||
|
||||
#define STANDARD_BLUE "standard_blue"
|
||||
#define ALERT_AMBER "alert_amber"
|
||||
#define CONTRACTOR_RED "contractor_red"
|
||||
#define EXTRASHIELD_GREEN "extrashield_green"
|
||||
#define EVIL_GREEN "evil_green"
|
||||
#define ROYAL_PURPLE "royal_purple"
|
||||
#define HAZARD_ORANGE "hazard_orange"
|
||||
#define COSMIC_BLUE "cosmic_blue"
|
||||
|
||||
/datum/mod_theme
|
||||
/// Wether or not the MOD projects hardlight at all
|
||||
var/hardlight = TRUE
|
||||
@@ -110,12 +101,3 @@
|
||||
/datum/mod_theme/administrative
|
||||
hardlight_theme = COSMIC_BLUE
|
||||
|
||||
|
||||
#undef STANDARD_BLUE
|
||||
#undef ALERT_AMBER
|
||||
#undef CONTRACTOR_RED
|
||||
#undef EXTRASHIELD_GREEN
|
||||
#undef EVIL_GREEN
|
||||
#undef ROYAL_PURPLE
|
||||
#undef HAZARD_ORANGE
|
||||
#undef COSMIC_BLUE
|
||||
|
||||
@@ -140,6 +140,14 @@
|
||||
/obj/item/reagent_containers/cup/bottle/incubus_draft = 6,
|
||||
),
|
||||
),
|
||||
list(
|
||||
"name" = "MOD Suit",
|
||||
"icon" = FA_ICON_USER_ASTRONAUT,
|
||||
"products" = list(
|
||||
/obj/item/mod/construction/plating/lustwish = 5,
|
||||
/obj/item/mod/module/hypno_visor = 5,
|
||||
)
|
||||
),
|
||||
list(
|
||||
"name" = "Structures",
|
||||
"icon" = FA_ICON_HAMMER,
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
modsuit_skin = "civilian"
|
||||
|
||||
modsuit.skin = LOWER_TEXT(modsuit_skin)
|
||||
add_unique_skin()
|
||||
|
||||
var/modsuit_name = client_source?.prefs.read_preference(/datum/preference/text/entombed_mod_name)
|
||||
if (modsuit_name)
|
||||
@@ -123,6 +124,22 @@
|
||||
if (old_bag.atom_storage)
|
||||
old_bag.atom_storage.dump_content_at(modsuit, modsuit.get_dumping_location(), human_holder)
|
||||
|
||||
/datum/quirk/equipping/entombed/proc/add_unique_skin() // Let's all agree: this is snowflakey. But I just want entombed players not to complain, sue me.
|
||||
var/skin_override
|
||||
var/mob_override
|
||||
var/list/parts = modsuit.get_parts()
|
||||
if (modsuit.skin == "lustwish")
|
||||
skin_override = 'modular_zubbers/icons/obj/clothing/modsuit/mod_lustwish.dmi'
|
||||
mob_override = 'modular_zubbers/icons/mob/clothing/modsuit/mod_lustwish.dmi'
|
||||
|
||||
if(isnull(skin_override) || isnull(mob_override))
|
||||
return
|
||||
|
||||
for(var/obj/item/part as anything in parts + modsuit)
|
||||
part.icon = skin_override
|
||||
part.worn_icon = mob_override
|
||||
modsuit.wearer?.update_clothing(part.slot_flags)
|
||||
|
||||
/datum/quirk/equipping/entombed/post_add()
|
||||
. = ..()
|
||||
// quickly deploy it on roundstart. we can't do this in add_unique because that gets called in the preview screen, which overwrites people's loadout stuff in suit/shoes/gloves slot. very unfun for them
|
||||
@@ -179,6 +196,7 @@
|
||||
"Mining",
|
||||
"Prototype",
|
||||
"Security",
|
||||
"Lustwish"
|
||||
)
|
||||
|
||||
/datum/preference/choiced/entombed_skin/create_default_value()
|
||||
|
||||
@@ -127,3 +127,9 @@
|
||||
/datum/loadout_item/pocket_items/lunchbox_amongus
|
||||
name = "Suspicious Red Lunchbox"
|
||||
item_path = /obj/item/storage/lunchbox/amongus
|
||||
|
||||
/// Lustwish stuff
|
||||
|
||||
/datum/loadout_item/pocket_items/lustwish_theme
|
||||
name = "Lustwish MOD theme"
|
||||
item_path = /obj/item/mod/construction/plating/lustwish
|
||||
|
||||
@@ -103,3 +103,65 @@
|
||||
),
|
||||
)
|
||||
. = ..()
|
||||
|
||||
#define LUSTWISH_HELMET_SEAL "slides closed"
|
||||
#define LUSTWISH_HELMET_UNSEAL "slides open"
|
||||
#define LUSTWISH_CHESTPLATE_SEAL "squeezes snugly around your body"
|
||||
#define LUSTWISH_CHESTPLATE_UNSEAL "spontaniously loosens"
|
||||
#define LUSTWISH_GAUNTLET_SEAL "clenches between each finger"
|
||||
#define LUSTWISH_GAUNTLET_UNSEAL "relaxes from your hand"
|
||||
#define LUSTWISH_BOOT_SEAL "squeezes tightly around your ankles"
|
||||
#define LUSTWISH_BOOT_UNSEAL "gives room to your feet"
|
||||
|
||||
//// Sprites done by Toriate - Commissioned by The Sharkenning
|
||||
/datum/mod_theme/lustwish
|
||||
name = "lustwish"
|
||||
desc = "A specialty designed lustwish themed modsuit which is based entirely off of earlier civilian modsuits."
|
||||
default_skin = "lustwish"
|
||||
hardlight_theme = ROYAL_PURPLE
|
||||
ui_theme = "ntos_darkmode"
|
||||
variants = list(
|
||||
"lustwish" = list(
|
||||
MOD_ICON_OVERRIDE = 'modular_zubbers/icons/obj/clothing/modsuit/mod_lustwish.dmi',
|
||||
MOD_WORN_ICON_OVERRIDE = 'modular_zubbers/icons/mob/clothing/modsuit/mod_lustwish.dmi',
|
||||
/obj/item/clothing/head/mod = list(
|
||||
UNSEALED_LAYER = NECK_LAYER,
|
||||
UNSEALED_CLOTHING = SNUG_FIT,
|
||||
SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS,
|
||||
SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
|
||||
SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
|
||||
UNSEALED_MESSAGE = LUSTWISH_HELMET_UNSEAL,
|
||||
SEALED_MESSAGE = LUSTWISH_HELMET_SEAL,
|
||||
),
|
||||
/obj/item/clothing/suit/mod = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
|
||||
SEALED_INVISIBILITY = HIDEJUMPSUIT,
|
||||
UNSEALED_MESSAGE = LUSTWISH_CHESTPLATE_UNSEAL,
|
||||
SEALED_MESSAGE = LUSTWISH_CHESTPLATE_SEAL,
|
||||
),
|
||||
/obj/item/clothing/gloves/mod = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
|
||||
CAN_OVERSLOT = TRUE,
|
||||
UNSEALED_MESSAGE = LUSTWISH_GAUNTLET_UNSEAL,
|
||||
SEALED_MESSAGE = LUSTWISH_GAUNTLET_SEAL,
|
||||
),
|
||||
/obj/item/clothing/shoes/mod = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
|
||||
CAN_OVERSLOT = TRUE,
|
||||
UNSEALED_MESSAGE = LUSTWISH_BOOT_UNSEAL,
|
||||
SEALED_MESSAGE = LUSTWISH_BOOT_SEAL,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
#undef LUSTWISH_HELMET_SEAL
|
||||
#undef LUSTWISH_HELMET_UNSEAL
|
||||
#undef LUSTWISH_CHESTPLATE_SEAL
|
||||
#undef LUSTWISH_CHESTPLATE_UNSEAL
|
||||
#undef LUSTWISH_GAUNTLET_SEAL
|
||||
#undef LUSTWISH_GAUNTLET_UNSEAL
|
||||
#undef LUSTWISH_BOOT_SEAL
|
||||
#undef LUSTWISH_BOOT_UNSEAL
|
||||
|
||||
@@ -16,3 +16,9 @@
|
||||
default_pins = list(
|
||||
/obj/item/mod/module/jetpack,
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/lustwish
|
||||
worn_icon = 'modular_zubbers/icons/mob/clothing/modsuit/mod_lustwish.dmi'
|
||||
icon = 'modular_zubbers/icons/obj/clothing/modsuit/mod_lustwish.dmi'
|
||||
icon_state = "lustwish-control"
|
||||
theme = /datum/mod_theme/lustwish
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/obj/item/mod/construction/plating/lustwish
|
||||
icon = 'modular_zubbers/icons/mob/clothing/modsuit/mod_modules.dmi'
|
||||
icon_state = "lustwish-plating"
|
||||
theme = /datum/mod_theme/lustwish
|
||||
|
||||
/obj/item/mod/module/hypno_visor
|
||||
name = "Hypnosis Module"
|
||||
desc = "A module inserted into the visor of a suit in which commands can be processed. Use on self to set directives."
|
||||
icon = 'modular_zubbers/icons/mob/clothing/modsuit/mod_modules.dmi'
|
||||
icon_state = "module_hypno"
|
||||
module_type = MODULE_PASSIVE
|
||||
complexity = 0
|
||||
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0
|
||||
incompatible_modules = list(/obj/item/mod/module/hypno_visor)
|
||||
required_slots = list(ITEM_SLOT_HEAD)
|
||||
overlay_state_inactive = "module_hypno_overlay"
|
||||
overlay_icon_file = 'modular_zubbers/icons/mob/clothing/modsuit/mod_modules.dmi'
|
||||
var/hypno_message
|
||||
|
||||
/obj/item/mod/module/hypno_visor/Destroy()
|
||||
if(!mod)
|
||||
return ..()
|
||||
if(mod.wearer && part_activated)
|
||||
mod.wearer.cure_trauma_type(/datum/brain_trauma/very_special/induced_hypnosis, TRAUMA_RESILIENCE_MAGIC)
|
||||
return ..()
|
||||
|
||||
/obj/item/mod/module/hypno_visor/attack_self(mob/user)
|
||||
. = ..()
|
||||
hypno_message = tgui_input_text(user, "Change the hypnotic phrase.", max_length = MAX_MESSAGE_LEN)
|
||||
|
||||
/obj/item/mod/module/hypno_visor/on_part_activation()
|
||||
if(!(mod.wearer.client?.prefs?.read_preference(/datum/preference/toggle/erp/hypnosis) && mod.wearer.client.prefs.read_preference(/datum/preference/toggle/erp/sex_toy)))
|
||||
return to_chat(mod.wearer, span_warning("Mind resilient to hypnotic effects: Shutting down"))
|
||||
if(hypno_message == "" || isnull(hypno_message))
|
||||
hypno_message = "Obey"
|
||||
mod.wearer.gain_trauma(new /datum/brain_trauma/very_special/induced_hypnosis(hypno_message), TRAUMA_RESILIENCE_MAGIC)
|
||||
|
||||
/obj/item/mod/module/hypno_visor/on_part_deactivation(deleting = FALSE)
|
||||
mod.wearer.cure_trauma_type(/datum/brain_trauma/very_special/induced_hypnosis, TRAUMA_RESILIENCE_MAGIC)
|
||||
|
||||
/obj/item/mod/module/hypno_visor/on_install()
|
||||
. = ..()
|
||||
if(mod.skin != "lustwish")
|
||||
overlay_state_inactive = null // Visual thing. Removes the overlay if it's not a part of the lustwish suit.
|
||||
|
||||
/obj/item/mod/module/hypno_visor/on_uninstall(deleting = FALSE)
|
||||
. = ..()
|
||||
if(isnull(overlay_state_inactive))
|
||||
overlay_state_inactive = initial(overlay_state_inactive)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 973 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -9484,6 +9484,7 @@
|
||||
#include "modular_zubbers\code\modules\mod\mod_theme.dm"
|
||||
#include "modular_zubbers\code\modules\mod\mod_types.dm"
|
||||
#include "modular_zubbers\code\modules\mod\modules.dm"
|
||||
#include "modular_zubbers\code\modules\mod\modules_lustwish.dm"
|
||||
#include "modular_zubbers\code\modules\modular_computers\computer.dm"
|
||||
#include "modular_zubbers\code\modules\modular_computers\programs\siliconmanagement.dm"
|
||||
#include "modular_zubbers\code\modules\modular_items\code\cake_light.dm"
|
||||
|
||||
Reference in New Issue
Block a user