Files
CHOMPStation2/code/modules/clothing/under/miscellaneous_vr.dm
Casey a503fa1c7f Merge pull request #12188 from Very-Soft/yeah!
Size Standardization Bracelet
2022-02-10 00:57:10 +00:00

311 lines
12 KiB
Plaintext

/obj/item/clothing/under/customs
desc = "A standard SolGov customs uniform. Complete with epaulettes." //YW EDIT: SolGov
/obj/item/clothing/var/hides_bulges = FALSE // OwO wats this?
/obj/item/clothing/under/permit
name = "public nudity permit"
desc = "This permit entitles the bearer to conduct their duties without a uniform. Normally issued to furred crewmembers or those with nothing to hide."
icon = 'icons/obj/card.dmi'
icon_state = "guest"
body_parts_covered = 0
equip_sound = null
sprite_sheets = null
item_state = "golem" //This is dumb and hacky but was here when I got here.
worn_state = "golem" //It's basically just a coincidentally black iconstate in the file.
/obj/item/clothing/under/hyperfiber
name = "HYPER jumpsuit"
icon = 'icons/inventory/uniform/item_vr.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "hyper"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_uniforms.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_uniforms.dmi',
)
item_state = "hyper"
worn_state = "hyper"
desc = "Got a lot to hide on your body? Well, this Heavy Yield Protrusion Erasing and Retracting suit seems perfect for you. \
Hides any bulges on your body, as well as conceals your true weight."
hides_bulges = TRUE
/obj/item/clothing/under/hyperfiber/verb/toggle_fibers()
set category = "Object"
set name = "Adjust Bluespace Fibers"
set desc = "Adjust your suit's HYPER fibers. Activating it hides your stomach(s) and your general body-build. Good if you have a lot to hide."
set src in usr
adjust_fibers(usr)
/obj/item/clothing/under/hyperfiber/proc/adjust_fibers(mob/user)
if(hides_bulges == FALSE)
hides_bulges = TRUE
to_chat(user, "You tense the suit fibers, hiding your stomach(s) and weight.")
else
hides_bulges = FALSE
to_chat(user, "You relax the suit fibers, revealing your stomach(s) and weight.")
/obj/item/clothing/under/hyperfiber/bluespace
name = "bluespace jumpsuit"
icon_state = "bluespace"
item_state = "bluespace"
worn_state = "bluespace"
desc = "Do you feel like warping spacetime today? Because it seems like that's on the agenda, now. \
Allows one to resize themselves at will, and conceals their true weight as well as any bulges or protrusions on their body."
var/original_size
/obj/item/clothing/under/hyperfiber/bluespace/verb/resize()
set name = "Adjust Bluespace Fibers"
set desc = "Adjust your suit's bluespace fibers. Activating it allows you to expand your own body or reduce it in size! Effect is limited to when you have the suit on."
set category = "Object"
set src in usr
bluespace_size(usr)
/obj/item/clothing/under/hyperfiber/bluespace/proc/bluespace_size(mob/usr as mob)
if (!ishuman(usr))
return
var/mob/living/carbon/human/H = usr
if (H.stat || H.restrained())
return
if (src != H.w_uniform)
to_chat(H,"<span class='warning'>You must be WEARING the uniform to change your size.</span>")
return
var/new_size = input(usr, "Put the desired size (25-200%), or (1-600%) in dormitory areas.", "Set Size", 200) as num|null
if(!new_size)
return //cancelled
//Check AGAIN because we accepted user input which is blocking.
if (src != H.w_uniform)
to_chat(H,"<span class='warning'>You must be WEARING the uniform to change your size.</span>")
return
if (H.stat || H.restrained())
return
if (isnull(H.size_multiplier)) // Why would this ever be the case?
to_chat(H,"<span class='warning'>The uniform panics and corrects your apparently microscopic size.</span>")
H.resize(RESIZE_NORMAL, ignore_prefs = TRUE)
H.update_icons() //Just want the matrix transform
return
if (!H.size_range_check(new_size))
to_chat(H,"<span class='notice'>The safety features of the uniform prevent you from choosing this size.</span>")
return
else if(new_size)
if(new_size != H.size_multiplier)
if(!original_size)
original_size = H.size_multiplier
H.resize(new_size/100, uncapped = H.has_large_resize_bounds(), ignore_prefs = TRUE) // Ignores prefs because you can only resize yourself
H.visible_message("<span class='warning'>The space around [H] distorts as they change size!</span>","<span class='notice'>The space around you distorts as you change size!</span>")
else //They chose their current size.
return
/obj/item/clothing/under/hyperfiber/bluespace/mob_can_unequip(mob/M, slot, disable_warning = 0)
. = ..()
if(. && ishuman(M) && original_size)
var/mob/living/carbon/human/H = M
H.resize(original_size, ignore_prefs = TRUE)
original_size = null
H.visible_message("<span class='warning'>The space around [H] distorts as they return to their original size!</span>","<span class='notice'>The space around you distorts as you return to your original size!</span>")
/obj/item/clothing/gloves/bluespace
name = "size standardization bracelet"
desc = "A somewhat bulky metal bracelet featuring a crystal, glowing blue. The outer side of the bracelet has an elongated case that one might imagine contains electronic components. This bracelet is used to standardize the size of crewmembers who may need a non-permanent size assist."
icon = 'icons/inventory/accessory/item_vr.dmi'
icon_state = "bs_bracelet"
w_class = ITEMSIZE_TINY
glove_level = 1
var/original_size
var/last_activated
var/emagged = FALSE
var/target_size = 1
/obj/item/clothing/gloves/bluespace/mob_can_equip(mob/M, gloves, disable_warning = 0)
. = ..()
if(. && ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.resizable)
return
if(H.size_multiplier != target_size)
if(!(world.time - last_activated > 10 SECONDS))
to_chat(M, "<span class ='warning'>\The [src] flickers. It seems to be recharging.</span>")
return
last_activated = world.time
original_size = H.size_multiplier
H.resize(target_size, uncapped = emagged, ignore_prefs = FALSE) //In case someone else tries to put it on you.
H.visible_message("<span class='warning'>The space around [H] distorts as they change size!</span>","<span class='notice'>The space around you distorts as you change size!</span>")
log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.")
/obj/item/clothing/gloves/bluespace/mob_can_unequip(mob/M, gloves, disable_warning = 0)
. = ..()
if(. && ishuman(M) && original_size)
var/mob/living/carbon/human/H = M
if(!H.resizable)
return
last_activated = world.time
H.resize(original_size, uncapped = emagged, ignore_prefs = FALSE)
original_size = null
H.visible_message("<span class='warning'>The space around [H] distorts as they return to their original size!</span>","<span class='notice'>The space around you distorts as you return to your original size!</span>")
log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.")
to_chat(M, "<span class ='warning'>\The [src] flickers. It is now recharging and will be ready again in thirty seconds.</span>")
/obj/item/clothing/gloves/bluespace/examine(var/mob/user)
. = ..()
var/cooldowntime = round((10 SECONDS - (world.time - last_activated)) * 0.1)
if(Adjacent(user))
if(cooldowntime >= 0)
. += "<span class='notice'>It appears to be recharging.</span>"
if(emagged)
. += "<span class='warning'>The crystal is flickering.</span>"
/obj/item/clothing/gloves/bluespace/emag_act(R_charges, var/mob/user, emag_source)
. = ..()
if(!emagged)
emagged = TRUE
target_size = (rand(1,300)) /100
if(target_size < 0.1)
target_size = 0.1
user.visible_message("<span class='notice'>\The [user] swipes the [emag_source] over the \the [src].</span>","<span class='notice'>You swipes the [emag_source] over the \the [src].</span>")
return 1
//Same as Nanotrasen Security Uniforms
/obj/item/clothing/under/ert
armor = list(melee = 5, bullet = 10, laser = 10, energy = 5, bomb = 5, bio = 0, rad = 0)
/obj/item/clothing/under/qipao
name = "black qipao"
desc = "A type of feminine body-hugging dress with distinctive Chinese features of Manchu origin."
icon = 'icons/inventory/uniform/item_vr.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "qipao"
item_state = "qipao"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/qipao/white
name = "white qipao"
icon_state = "qipao_white"
item_state = "qipao_white"
/obj/item/clothing/under/qipao/red
name = "red qipao"
icon_state = "qipao_red"
item_state = "qipao_red"
/obj/item/clothing/under/pizzaguy
name = "pizza delivery uniform"
desc = "A dedicated outfit for pizza delivery people, one of most dangerous occupations around these parts. Can be rolled up for extra show of skin."
icon = 'icons/inventory/uniform/item_vr.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
rolled_down_icon_override = FALSE
icon_state = "pizzadelivery"
item_state = "pizzadelivery"
rolled_down = 0
//////////////////////TALON JUMPSUITS//////////////////////
/obj/item/clothing/under/rank/talon/basic
name = "Talon jumpsuit"
desc = "A basic jumpsuit that bares the ITV Talon logo on the breast."
icon = 'icons/inventory/uniform/item_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_basic"
item_state = "talon_basic"
rolled_sleeves = 0
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/proper
name = "Talon proper jumpsuit"
desc = "A neat and proper uniform for a proper private ship."
icon = 'icons/inventory/uniform/item_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_jumpsuit"
item_state = "talon_jumpsuit"
rolled_sleeves = 0
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/security
name = "Talon security jumpsuit"
desc = "A sleek, streamlined version of ITV Talon's standard jumpsuit that bares security markings."
icon = 'icons/inventory/uniform/item_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_security"
item_state = "talon_security"
rolled_sleeves = 0
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/pilot
name = "Talon pilot jumpsuit"
desc = "A sleek, streamlined version of ITV Talon's standard jumpsuit. Made from cushioned fabric to handle intense flight."
icon = 'icons/inventory/uniform/item_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_pilot"
item_state = "talon_pilot"
rolled_sleeves = 0
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/command
name = "Talon command jumpsuit"
desc = "A commanding jumpsuit fit for a commanding officer."
icon = 'icons/inventory/uniform/item_vr.dmi'
rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi'
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_captain"
item_state = "talon_captain"
rolled_sleeves = 0
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
// Excelsior uniforms
/obj/item/clothing/under/excelsior
name = "\improper Excelsior uniform"
desc = "A uniform from a particular spaceship: Excelsior."
icon = 'icons/inventory/uniform/item_vr.dmi'
default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "excelsior_white"
/obj/item/clothing/under/excelsior/mixed
icon_state = "excelsior_mixed"
/obj/item/clothing/under/excelsior/orange
icon_state = "excelsior_orange"
// Summer dresses
/obj/item/clothing/under/summerdress
name = "summer dress"
desc = "A nice summer dress."
icon = 'icons/inventory/uniform/item_vr.dmi'
default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "summerdress"
/obj/item/clothing/under/summerdress/red
icon_state = "summerdress3"
/obj/item/clothing/under/summerdress/blue
icon_state = "summerdress2"
/obj/item/clothing/under/dress/dress_cap/femformal // formal in the loosest sense. because it's going to be taken off. or something. funnier in my head i swear
name = "site manager's feminine formalwear"
desc = "Essentially a skimpy...dress? Leotard? Whatever it is, it has the coloration and markings suitable for a site manager or rough equivalent."
icon = 'icons/inventory/uniform/item_vr.dmi'
default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "lewdcap"
item_state = "lewdcap"
rolled_sleeves = -1
rolled_down = -1
body_parts_covered = UPPER_TORSO // frankly this thing's a fucking embarassment