Merge pull request #12188 from Very-Soft/yeah!

Size Standardization Bracelet
This commit is contained in:
Casey
2022-02-09 19:56:42 -05:00
committed by GitHub
6 changed files with 74 additions and 4 deletions
@@ -116,7 +116,6 @@
else
log_and_message_admins("attempted to emag \an [A].")
// Vorestation Edit: End of Edit
log_and_message_admins("emagged \an [A].")
if(uses<1)
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
@@ -69,3 +69,8 @@
display_name = "contractor identification card"
path = /obj/item/weapon/card/id/event/polymorphic/altcard
cost = 1
/datum/gear/utility/bs_bracelet
display_name = "bluespace bracelet"
path = /obj/item/clothing/gloves/bluespace
cost = 5
@@ -115,6 +115,66 @@
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)
+4 -2
View File
@@ -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)
+5 -1
View File
@@ -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("<span class='warning'>\The [H]'s bracelet flashes and absorbs the beam!</span>","<span class='notice'>Your bracelet flashes and absorbs the beam!</span>")
return
if(!M.resize(set_size, uncapped = M.has_large_resize_bounds(), ignore_prefs = ignoring_prefs))
to_chat(M, "<font color='blue'>The beam fires into your body, changing your size!</font>")
M.updateicon()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB