From a0f4c14759d839fb9590eb67800d6f702000c402 Mon Sep 17 00:00:00 2001 From: VerySoft Date: Wed, 9 Feb 2022 16:32:03 -0500 Subject: [PATCH] Size Standardization Bracelet It makes you 100% size when worn. Similar to a bluespace jumpsuit, it only works when worn, but dis-similarly to bluespace jumpsuits, this has no control over what size you can be. You might say its one size fits all. I put this in the loadout and in the gadgets vendor, as I feel like the limitation to only changing your size to 100% and back doesn't offer the same utility as something that actually gives you full control over your size, like the bluespace jumpsuit and sizeguns. I think that this limitation, and somewhat expensive loadout cost, makes it not as likely to be abused for powergaming as the other size changing items would be. --- .../loadout/loadout_utility.dm | 5 +++ .../clothing/under/miscellaneous_vr.dm | 38 ++++++++++++++++++ code/modules/economy/vending_machines_vr.dm | 6 ++- code/modules/vore/resizing/sizegun_vr.dm | 6 ++- icons/inventory/accessory/item_vr.dmi | Bin 12003 -> 12717 bytes 5 files changed, 52 insertions(+), 3 deletions(-) diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index 4a945f442c..c773b81468 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -141,6 +141,11 @@ ) gear_tweaks += new/datum/gear_tweak/path(wheelchairs) +/datum/gear/utility/bs_bracelet + display_name = "bluespace bracelet" + path = /obj/item/clothing/gloves/bluespace + cost = 5 + /**************** modular computers ****************/ diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index cc38682286..8787cac22b 100644 --- a/code/modules/clothing/under/miscellaneous_vr.dm +++ b/code/modules/clothing/under/miscellaneous_vr.dm @@ -115,6 +115,44 @@ original_size = null H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") +/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 + var/original_size + var/last_activated + +/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 != 1) + if(!(world.time - last_activated > 10 SECONDS)) + to_chat(M, "\The [src] flickers. It seems to be recharging.") + return + last_activated = world.time + original_size = H.size_multiplier + H.resize(1, ignore_prefs = FALSE) //In case someone else tries to put it on you. + H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + 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, ignore_prefs = FALSE) + original_size = null + H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.") + to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in thirty seconds.") + //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) diff --git a/code/modules/economy/vending_machines_vr.dm b/code/modules/economy/vending_machines_vr.dm index d087423497..d5420d2000 100644 --- a/code/modules/economy/vending_machines_vr.dm +++ b/code/modules/economy/vending_machines_vr.dm @@ -1043,7 +1043,8 @@ /obj/item/device/walkpod = 5, /obj/item/device/juke_remote = 1, /obj/item/instrument/piano_synth/headphones = 2, // You're making a subsystem do work, I don't want it TOO busy - /obj/item/instrument/piano_synth/headphones/spacepods = 2) + /obj/item/instrument/piano_synth/headphones/spacepods = 2, + /obj/item/clothing/gloves/bluespace = 5) prices = list(/obj/item/clothing/suit/circuitry = 100, /obj/item/clothing/head/circuitry = 100, /obj/item/clothing/shoes/circuitry = 100, @@ -1067,7 +1068,8 @@ /obj/item/device/walkpod = 300, /obj/item/device/juke_remote = 1000, /obj/item/instrument/piano_synth/headphones = 200, - /obj/item/instrument/piano_synth/headphones/spacepods = 600) + /obj/item/instrument/piano_synth/headphones/spacepods = 600, + /obj/item/clothing/gloves/bluespace = 500) premium = list(/obj/item/device/perfect_tele/one_beacon = 1) contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1) diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index efd27d30dd..9d2b73d7cb 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -102,8 +102,12 @@ /obj/item/projectile/beam/sizelaser/on_hit(var/atom/target) var/mob/living/M = target var/ignoring_prefs = (target == firer ? TRUE : FALSE) // Resizing yourself - if(istype(M)) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(istype(H.gloves, /obj/item/clothing/gloves/bluespace)) + M.visible_message("\The [H]'s bracelet flashes and absorbs the beam!","Your bracelet flashes and absorbs the beam!") + return if(!M.resize(set_size, uncapped = M.has_large_resize_bounds(), ignore_prefs = ignoring_prefs)) to_chat(M, "The beam fires into your body, changing your size!") M.updateicon() diff --git a/icons/inventory/accessory/item_vr.dmi b/icons/inventory/accessory/item_vr.dmi index c39fad32927bbdc77fbe5e91609b4e0a151954b9..2f4624f1cfe15d4f8a980618029c25f1fb51e145 100644 GIT binary patch literal 12717 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 PFaQ$+bNzf>yU_mwVi-xe literal 12003 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