diff --git a/hyperstation/code/obj/SYSuit/abilities.dm b/hyperstation/code/obj/SYSuit/abilities.dm index fda8e41b7..f5e20866c 100644 --- a/hyperstation/code/obj/SYSuit/abilities.dm +++ b/hyperstation/code/obj/SYSuit/abilities.dm @@ -2,7 +2,7 @@ //Lord forgive me because I'm mostly referencing the ninja suit, and it's kind of messy. -/obj/item/clothing/suit/toggle/sysuit/proc/lock_suit(mob/living/carbon/human/H) +/obj/item/clothing/under/syclothing/proc/lock_suit(mob/living/carbon/human/H) //there is certainly a better way to do this, but again, referencing ninja code for now //First we make the checks for correct clothing being present if(!istype(H)) @@ -19,9 +19,6 @@ if(!istype(H.gloves, /obj/item/clothing/gloves/sygloves)) to_chat(H, "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...") return FALSE - if(!istype(H.w_uniform, /obj/item/clothing/under/syclothing)) - to_chat(H, "ERROR: 140021 UNABLE TO LOCATE BASE GEAR\nABORTING...") - return FALSE //Now we prevent them from being removed affecting = H ADD_TRAIT(src, TRAIT_NODROP, SYTECH_SUIT_TRAIT) //apply to the suit itself @@ -33,12 +30,10 @@ ADD_TRAIT(sy_shoes, TRAIT_NODROP, SYTECH_SUIT_TRAIT) sy_gloves = H.gloves ADD_TRAIT(sy_gloves, TRAIT_NODROP, SYTECH_SUIT_TRAIT) - sy_clothing = H.w_uniform - ADD_TRAIT(sy_clothing, TRAIT_NODROP, SYTECH_SUIT_TRAIT) return TRUE //this hurts my eyes to look at -/obj/item/clothing/suit/toggle/sysuit/proc/unlock_suit() +/obj/item/clothing/under/syclothing/proc/unlock_suit() affecting = null REMOVE_TRAIT(src, TRAIT_NODROP, SYTECH_SUIT_TRAIT) if(sy_cap) @@ -49,10 +44,8 @@ REMOVE_TRAIT(sy_shoes, TRAIT_NODROP, SYTECH_SUIT_TRAIT) if(sy_gloves) REMOVE_TRAIT(sy_gloves, TRAIT_NODROP, SYTECH_SUIT_TRAIT) - if(sy_clothing) - REMOVE_TRAIT(sy_clothing, TRAIT_NODROP, SYTECH_SUIT_TRAIT) -/obj/item/clothing/suit/toggle/sysuit/ui_action_click(mob/user, action) +/obj/item/clothing/under/syclothing/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/initialize_sysuit)) toggle_on_off() return TRUE diff --git a/hyperstation/code/obj/SYSuit/main.dm b/hyperstation/code/obj/SYSuit/main.dm index 3020adf66..3c37270a8 100644 --- a/hyperstation/code/obj/SYSuit/main.dm +++ b/hyperstation/code/obj/SYSuit/main.dm @@ -8,37 +8,18 @@ name = "SYTech Nanoweave suit" desc = "A leading-grade suit developed by SYTech, with an internal dampening field to lessen accidents at micro scales. This one seems to be more skimpy and developed for bedroom-play, though." icon = 'hyperstation/icons/obj/clothing/uniforms.dmi' - icon_state = "sysuit" - item_state = "sysuit" - alternate_worn_icon = 'hyperstation/icons/mobs/uniforms.dmi' + icon_state = "syclothing" + item_state = "syclothing" + //alternate_worn_icon = 'hyperstation/icons/mobs/uniforms.dmi' armor = list("melee" = 90, "bullet" = 25, "laser" = 5, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) do_not_cover_butt = TRUE can_adjust = FALSE -//The overcoat -/obj/item/clothing/suit/toggle/sysuit - name = "SYTech Nanoweave overcoat" - desc = "An overcoat complimenting a SYTech suit. Can be worn in different ways, but is required for the function of the Nanoweave tech. This one is incredibly revealing, oddly enough." - icon = 'hyperstation/icons/obj/clothing/suits.dmi' - icon_state = "sysuit" - item_state = "sysuit" - alternate_worn_icon = 'hyperstation/icons/mobs/suits.dmi' - //togglename = "toggle" - body_parts_covered = CHEST|ARMS|LEGS - cold_protection = CHEST|GROIN|LEGS|ARMS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - strip_delay = 70 - equip_delay_other = 40 - max_integrity = 250 - resistance_flags = FLAMMABLE - armor = list("melee" = 90, "bullet" = 25, "laser" = 5, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) - actions_types = list(/datum/action/item_action/initialize_sysuit) //var/obj/whateverkinkyitemiputhere //The whole getup needs to be worn! Variables referenced for later - var/obj/item/clothing/under/syclothing/sy_clothing var/obj/item/clothing/head/sycap/sy_cap var/obj/item/clothing/glasses/hud/toggle/syvisor/sy_visor var/obj/item/clothing/shoes/syshoes/sy_shoes @@ -51,18 +32,39 @@ var/s_busy = FALSE var/mob/living/carbon/affecting //???? i hate byond -/obj/item/clothing/suit/toggle/sysuit/examine(mob/user) +/obj/item/clothing/under/syclothing/examine(mob/user) . = ..() if(s_initialized && user == affecting) . += "All systems operational. Currently online and functioning." //Add more data to this later +//The overcoat - removed cause i was a little too lazy to make a proper sprite for it lmao +/* +/obj/item/clothing/suit/toggle/sysuit + name = "SYTech Nanoweave overcoat" + desc = "An overcoat complimenting a SYTech suit. Can be worn in different ways, but is required for the function of the Nanoweave tech. This one is incredibly revealing, oddly enough." + icon = 'hyperstation/icons/obj/clothing/suits.dmi' + icon_state = "sysuit" + item_state = "sysuit" + //alternate_worn_icon = 'hyperstation/icons/mobs/suits.dmi' + togglename = "zipper" + body_parts_covered = CHEST|ARMS|LEGS + cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + strip_delay = 70 + equip_delay_other = 40 + max_integrity = 250 + resistance_flags = FLAMMABLE + armor = list("melee" = 90, "bullet" = 25, "laser" = 5, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) +*/ + + //The cap /obj/item/clothing/head/sycap name = "SYTech Nanoweave cap" desc = "A piece of clothing for a SYTech suit, allowing for extended control and breathability at micro scales via amplified hardlight respiration. This one seems to be modeled like a dominatrix cap, however." icon = 'hyperstation/icons/obj/clothing/head.dmi' - icon_state = "syhat" - item_state = "syhat" + icon_state = "sycap" + item_state = "sycap" alternate_worn_icon = 'hyperstation/icons/mobs/head.dmi' armor = list("melee" = 90, "bullet" = 25, "laser" = 5, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) cold_protection = HEAD @@ -73,7 +75,7 @@ var/cloaked = 0 /obj/item/clothing/head/sycap/dropped() - src.icon_state = "syhat" + src.icon_state = "sycap" src.cloaked=0 ..() @@ -96,10 +98,10 @@ if(!user.incapacitated()) src.cloaked = !src.cloaked if(src.cloaked) - icon_state = "syhat_active" + icon_state = "sycap_active" to_chat(user, "You toggle the hat\'s cloaking.") else - icon_state = "syhat" + icon_state = "sycap" to_chat(user, "You reveal the hat again.") usr.update_inv_head() //so our mob-overlays update @@ -160,10 +162,10 @@ /obj/item/clothing/shoes/syshoes name = "SYTech Nanoweave platform heels" desc = "A complimentary piece of SYTech apparel for gravity-altering applications. It even allows you to walk up walls! This pair takes on the appearance of skimpy, thigh-high latex boots with stilletos." - icon_state = "sysuit" - item_state = "sysuit" + icon_state = "syshoes" + item_state = "syshoes" icon = 'hyperstation/icons/obj/clothing/shoes.dmi' - alternate_worn_icon = 'hyperstation/icons/mobs/feet.dmi' + //alternate_worn_icon = 'hyperstation/icons/mobs/feet.dmi' /obj/item/clothing/shoes/syshoes/Initialize() . = ..() @@ -173,8 +175,8 @@ /obj/item/clothing/gloves/sygloves name = "SYTech Nanoweave sleeves" desc = "A pair of enhanced sleeves, developed by SYTech. These allow remote and psionic levels of manipulation to the electrical currents inside living beings, or objects. Use with caution!" - icon_state = "sysuit" - item_state = "sysuit" + icon_state = "sygloves" + item_state = "sygloves" icon = 'hyperstation/icons/obj/clothing/gloves.dmi' alternate_worn_icon = 'hyperstation/icons/mobs/gloves.dmi' cold_protection = HANDS @@ -182,4 +184,5 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT strip_delay = 120 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF \ No newline at end of file + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + mutantrace_variation = NO_MUTANTRACE_VARIATION \ No newline at end of file diff --git a/hyperstation/code/obj/SYSuit/suit_initialize.dm b/hyperstation/code/obj/SYSuit/suit_initialize.dm index 48398377a..7aa562194 100644 --- a/hyperstation/code/obj/SYSuit/suit_initialize.dm +++ b/hyperstation/code/obj/SYSuit/suit_initialize.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/suit/toggle/sysuit/proc/toggle_on_off() +/obj/item/clothing/under/syclothing/proc/toggle_on_off() if(s_busy) to_chat(loc, "ERROR: You cannot use this function at this time.") return FALSE @@ -8,25 +8,25 @@ ninitialize() . = TRUE -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize(delay = s_delay, mob/living/carbon/human/U = loc) +/obj/item/clothing/under/syclothing/proc/ninitialize(delay = s_delay, mob/living/carbon/human/U = loc) if(!U.mind) return //Not sure how this could happen. s_busy = TRUE to_chat(U, "Now initializing...") addtimer(CALLBACK(src, .proc/ninitialize_two, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_two(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_two(delay, mob/living/carbon/human/U) if(!lock_suit(U))//To lock the suit onto wearer. s_busy = FALSE return to_chat(U, "Analyzing body composition and data...\nSecuring external locking mechanism...") addtimer(CALLBACK(src, .proc/ninitialize_three, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_three(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_three(delay, mob/living/carbon/human/U) to_chat(U, "Preparing for psionic link...\nNow monitoring brain activity...") addtimer(CALLBACK(src, .proc/ninitialize_four, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_four(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_four(delay, mob/living/carbon/human/U) if(U.stat == DEAD|| U.health <= 0) to_chat(U, "FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...") unlock_suit() @@ -35,22 +35,22 @@ to_chat(U, "Psionic link processing...\nPattern\green GREEN, continuing operation.") addtimer(CALLBACK(src, .proc/ninitialize_five, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_five(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_five(delay, mob/living/carbon/human/U) to_chat(U, "PHASE-shift device status: ONLINE.\nInertial dampeners: ONLINE.") addtimer(CALLBACK(src, .proc/ninitialize_six, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_six(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_six(delay, mob/living/carbon/human/U) to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nDownscaling for application...") do_sparks(5, FALSE, U.loc) addtimer(CALLBACK(src, .proc/ninitialize_seven, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/ninitialize_seven(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/ninitialize_seven(delay, mob/living/carbon/human/U) to_chat(U, "All systems operational. Welcome to SYTech OS, [U.real_name].") s_initialized = TRUE s_busy = FALSE U.size_multiplier = 0.25 -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize(delay = s_delay) +/obj/item/clothing/under/syclothing/proc/deinitialize(delay = s_delay) if(affecting==loc) var/mob/living/carbon/human/U = affecting if(alert("Are you certain you wish to remove the suit? This will take time and remove all abilities, as well as keep you small!",,"Yes","No")=="No") @@ -58,31 +58,31 @@ s_busy = TRUE addtimer(CALLBACK(src, .proc/deinitialize_two, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_two(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_two(delay, mob/living/carbon/human/U) to_chat(U, "Now de-initializing...") addtimer(CALLBACK(src, .proc/deinitialize_three, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_three(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_three(delay, mob/living/carbon/human/U) to_chat(U, "Logging off, [U.real_name]. Shutting down SYTech OS.") addtimer(CALLBACK(src, .proc/deinitialize_four, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_four(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_four(delay, mob/living/carbon/human/U) to_chat(U, "Primary system status: OFFLINE.\nBackup system status: OFFLINE.") addtimer(CALLBACK(src, .proc/deinitialize_five, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_five(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_five(delay, mob/living/carbon/human/U) to_chat(U, "PHASE-shift device status: OFFLINE.\nInertial dampeners: OFFLINE.") addtimer(CALLBACK(src, .proc/deinitialize_six, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_six(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_six(delay, mob/living/carbon/human/U) to_chat(U, "Disconnecting psionic-link...\greenSuccess.") addtimer(CALLBACK(src, .proc/deinitialize_seven, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_seven(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_seven(delay, mob/living/carbon/human/U) to_chat(U, "Disengaging body analysis and brain-monitoring...\greenSuccess.") addtimer(CALLBACK(src, .proc/deinitialize_eight, delay, U), delay) -/obj/item/clothing/suit/toggle/sysuit/proc/deinitialize_eight(delay, mob/living/carbon/human/U) +/obj/item/clothing/under/syclothing/proc/deinitialize_eight(delay, mob/living/carbon/human/U) to_chat(U, "Unsecuring external locking mechanism...\nTechnology engram secured.\nOperation status: FINISHED.") unlock_suit() s_initialized = FALSE diff --git a/hyperstation/icons/mob/clothes/extra.dmi b/hyperstation/icons/mob/clothes/extra.dmi index e5023f7fd..1dd717c37 100644 Binary files a/hyperstation/icons/mob/clothes/extra.dmi and b/hyperstation/icons/mob/clothes/extra.dmi differ diff --git a/hyperstation/icons/mobs/feet.dmi b/hyperstation/icons/mobs/feet.dmi index 2a73c284f..93ad37e85 100644 Binary files a/hyperstation/icons/mobs/feet.dmi and b/hyperstation/icons/mobs/feet.dmi differ diff --git a/hyperstation/icons/mobs/gloves.dmi b/hyperstation/icons/mobs/gloves.dmi index 904a3ea39..516151085 100644 Binary files a/hyperstation/icons/mobs/gloves.dmi and b/hyperstation/icons/mobs/gloves.dmi differ diff --git a/hyperstation/icons/mobs/head.dmi b/hyperstation/icons/mobs/head.dmi index 7e14980cd..c54c41402 100644 Binary files a/hyperstation/icons/mobs/head.dmi and b/hyperstation/icons/mobs/head.dmi differ diff --git a/hyperstation/icons/mobs/suits.dmi b/hyperstation/icons/mobs/suits.dmi index c9f0a6890..a2dcf641a 100644 Binary files a/hyperstation/icons/mobs/suits.dmi and b/hyperstation/icons/mobs/suits.dmi differ diff --git a/hyperstation/icons/mobs/uniforms.dmi b/hyperstation/icons/mobs/uniforms.dmi index 8aa44d3c8..89868e8c4 100644 Binary files a/hyperstation/icons/mobs/uniforms.dmi and b/hyperstation/icons/mobs/uniforms.dmi differ diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index ee7c04134..617fbcf01 100644 Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 2f8f0e510..43db6a6aa 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index a00f4f9f9..6ba9c3015 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ