Syndicate MODsuit resprite - sleek edition (#66087)

Sorts MODsuit icon files into clothing and modules
Makes it so modules (specifically armor booster here, but also the loader arms and ash accretion) can be colored like the control unit. and also lets them use any icon file for the overlay, so downstreams dont suffer
Resprites the Syndicate MODsuit to a sleeker design, also abandoning the armor booster cutting like a third of the sprite out, instead its similar to the elite suit, where being in space mode just gives you a different helmet design, being slits rather than eyes
This commit is contained in:
Fikou
2022-04-11 12:31:26 -07:00
committed by GitHub
parent 54f8b01165
commit 5bce3744f0
10 changed files with 19 additions and 9 deletions
+4 -4
View File
@@ -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
+1 -1
View File
@@ -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"
+7 -2
View File
@@ -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
@@ -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.
+1 -1
View File
@@ -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
+5 -1
View File
@@ -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