diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index e13c7d7085b..a2880d27d93 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -3,7 +3,7 @@ desc = "A helmet for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "helmet" - worn_icon = 'icons/mob/clothing/mod.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = HEAD heat_protection = HEAD @@ -28,7 +28,7 @@ desc = "A chestplate for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "chestplate" - worn_icon = 'icons/mob/clothing/mod.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' blood_overlay_type = "armor" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = CHEST|GROIN @@ -52,7 +52,7 @@ desc = "A pair of gauntlets for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "gauntlets" - worn_icon = 'icons/mob/clothing/mod.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = HANDS|ARMS heat_protection = HANDS|ARMS @@ -86,7 +86,7 @@ desc = "A pair of boots for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "boots" - worn_icon = 'icons/mob/clothing/mod.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = FEET|LEGS heat_protection = FEET|LEGS diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index dd4475c0da5..a3f05913cea 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -3,7 +3,7 @@ name = "Base MOD" desc = "You should not see this, yell at a coder!" icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' - worn_icon = 'icons/mob/clothing/mod.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' /obj/item/mod/control name = "MOD control unit" diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index 4089ea68c58..2d701d45dc1 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -29,6 +29,10 @@ var/overlay_state_active /// Overlay given to the user when the module is used, lasts until cooldown finishes var/overlay_state_use + /// Icon file for the overlay. + var/overlay_icon_file = 'icons/mob/clothing/modsuit/mod_modules.dmi' + /// Does the overlay use the control unit's colors? + var/use_mod_colors = FALSE /// What modules are we incompatible with? var/list/incompatible_modules = list() /// Cooldown after use @@ -273,8 +277,9 @@ used_overlay = overlay_state_inactive else return - var/mutable_appearance/module_icon = mutable_appearance('icons/mob/clothing/mod.dmi', used_overlay, layer = standing.layer + 0.1) - module_icon.appearance_flags |= RESET_COLOR + var/mutable_appearance/module_icon = mutable_appearance(overlay_icon_file, used_overlay, layer = standing.layer + 0.1) + if(!use_mod_colors) + module_icon.appearance_flags |= RESET_COLOR . += module_icon /// Updates the signal used by active modules to be activated diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 9338e463e2d..5d9fd9b54b1 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -15,6 +15,7 @@ cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_armorbooster_off" overlay_state_active = "module_armorbooster_on" + use_mod_colors = TRUE /// Whether or not this module removes pressure protection. var/remove_pressure_protection = TRUE /// Slowdown added to the suit. diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 8593d6f2d0d..e7c5649a313 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -277,7 +277,7 @@ . = ..() if(!active) return - var/mutable_appearance/light_icon = mutable_appearance('icons/mob/clothing/mod.dmi', "module_light_on", layer = standing.layer + 0.2) + var/mutable_appearance/light_icon = mutable_appearance(overlay_icon_file, "module_light_on", layer = standing.layer + 0.2) light_icon.appearance_flags = RESET_COLOR light_icon.color = light_color . += light_icon diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index 78ef2ed64cd..152fa5afa7b 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -94,6 +94,7 @@ overlay_state_active = "module_clamp_loader" load_time = 1 SECONDS max_crates = 5 + use_mod_colors = TRUE ///Drill - Lets you dig through rock and basalt. /obj/item/mod/module/drill @@ -204,6 +205,7 @@ cooldown_time = 4 SECONDS overlay_state_inactive = "module_hydraulic" overlay_state_active = "module_hydraulic_active" + use_mod_colors = TRUE /// Time it takes to launch var/launch_time = 2 SECONDS /// User overlay @@ -291,6 +293,7 @@ incompatible_modules = list(/obj/item/mod/module/magnet) cooldown_time = 1.5 SECONDS overlay_state_active = "module_magnet" + use_mod_colors = TRUE /obj/item/mod/module/magnet/on_select_use(atom/target) . = ..() @@ -344,6 +347,7 @@ removable = FALSE incompatible_modules = list(/obj/item/mod/module/ash_accretion) overlay_state_inactive = "module_ash" + use_mod_colors = TRUE /// How many tiles we can travel to max out the armor. var/max_traveled_tiles = 10 /// How many tiles we traveled through. @@ -464,7 +468,7 @@ if(!.) return playsound(src, 'sound/items/modsuit/ballin.ogg', 100) - mod.wearer.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/mod.dmi', "ball_mask"), flags = MASK_INVERSE)) + mod.wearer.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/modsuit/mod_modules.dmi', "ball_mask"), flags = MASK_INVERSE)) mod.wearer.add_filter("mod_blur", 2, angular_blur_filter(size = 15)) mod.wearer.add_filter("mod_outline", 3, outline_filter(color = "#000000AA")) mod.wearer.base_pixel_y -= 4 diff --git a/icons/mob/clothing/mod.dmi b/icons/mob/clothing/mod.dmi deleted file mode 100644 index 684e1e797d3..00000000000 Binary files a/icons/mob/clothing/mod.dmi and /dev/null differ diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi new file mode 100644 index 00000000000..5f51f618276 Binary files /dev/null and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi new file mode 100644 index 00000000000..e37f3e46416 Binary files /dev/null and b/icons/mob/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi index 76f35ae46ad..aebff91268f 100644 Binary files a/icons/obj/clothing/modsuit/mod_clothing.dmi and b/icons/obj/clothing/modsuit/mod_clothing.dmi differ