fixes and properly shows suit
@@ -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, "<span class='userdanger'>ERROR</span>: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...")
|
||||
return FALSE
|
||||
if(!istype(H.w_uniform, /obj/item/clothing/under/syclothing))
|
||||
to_chat(H, "<span class='userdanger'>ERROR</span>: 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
|
||||
|
||||
@@ -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, "<span class='notice'>You toggle the hat\'s cloaking.</span>")
|
||||
else
|
||||
icon_state = "syhat"
|
||||
icon_state = "sycap"
|
||||
to_chat(user, "<span class='notice'>You reveal the hat again.</span>")
|
||||
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
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
@@ -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, "<span class='userdanger'>ERROR</span>: 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, "<span class='notice'>Now initializing...</span>")
|
||||
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, "<span class='notice'>Analyzing body composition and data...\nSecuring external locking mechanism...</span>")
|
||||
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, "<span class='notice'>Preparing for psionic link...\nNow monitoring brain activity...</span>")
|
||||
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, "<span class='danger'><B>FÄAL �Rr�R</B>: 344--93#�&&21 BR��N |/|/aV� PATT$RN <B>RED</B>\nA-A-aB�rT�NG...</span>")
|
||||
unlock_suit()
|
||||
@@ -35,22 +35,22 @@
|
||||
to_chat(U, "<span class='notice'>Psionic link processing...\nPattern</span>\green <B>GREEN</B><span class='notice'>, continuing operation.</span>")
|
||||
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, "<span class='notice'>PHASE-shift device status: <B>ONLINE</B>.\nInertial dampeners: <B>ONLINE</B>.</span>")
|
||||
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, "<span class='notice'>Primary system status: <B>ONLINE</B>.\nBackup system status: <B>ONLINE</B>.\nDownscaling for application...</span>")
|
||||
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, "<span class='notice'>All systems operational. Welcome to <B>SYTech OS</B>, [U.real_name].</span>")
|
||||
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, "<span class='notice'>Now de-initializing...</span>")
|
||||
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, "<span class='notice'>Logging off, [U.real_name]. Shutting down <B>SYTech OS</B>.</span>")
|
||||
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, "<span class='notice'>Primary system status: <B>OFFLINE</B>.\nBackup system status: <B>OFFLINE</B>.</span>")
|
||||
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, "<span class='notice'>PHASE-shift device status: <B>OFFLINE</B>.\nInertial dampeners: <B>OFFLINE</B>.</span>")
|
||||
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, "<span class='notice'>Disconnecting psionic-link...</span>\green<B>Success</B><span class='notice'>.</span>")
|
||||
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, "<span class='notice'>Disengaging body analysis and brain-monitoring...</span>\green<B>Success</B><span class='notice'>.</span>")
|
||||
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, "<span class='notice'>Unsecuring external locking mechanism...\nTechnology engram secured.\nOperation status: <B>FINISHED</B>.</span>")
|
||||
unlock_suit()
|
||||
s_initialized = FALSE
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 761 B After Width: | Height: | Size: 763 B |
|
Before Width: | Height: | Size: 833 B After Width: | Height: | Size: 836 B |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 439 KiB After Width: | Height: | Size: 442 KiB |
|
Before Width: | Height: | Size: 377 KiB After Width: | Height: | Size: 378 KiB |