mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 03:57:48 +01:00
Merge pull request #12188 from Very-Soft/yeah!
Size Standardization Bracelet
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user