mirror of
https://github.com/Sandstorm-Station/Sandstorm-Station-13.git
synced 2026-08-23 21:27:23 +01:00
@@ -24,7 +24,7 @@
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"i" = (
|
||||
/obj/item/clothing/gloves/ring,
|
||||
/obj/item/clothing/accessory/ring,
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"j" = (
|
||||
@@ -70,7 +70,7 @@
|
||||
/obj/structure/mirror{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/item/clothing/gloves/ring/silver,
|
||||
/obj/item/clothing/accessory/ring/silver,
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"r" = (
|
||||
@@ -92,7 +92,7 @@
|
||||
/turf/closed/mineral/volcanic/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"I" = (
|
||||
/obj/item/clothing/gloves/ring/silver,
|
||||
/obj/item/clothing/accessory/ring/silver,
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"J" = (
|
||||
@@ -109,7 +109,7 @@
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"O" = (
|
||||
/obj/item/clothing/gloves/ring/diamond,
|
||||
/obj/item/clothing/accessory/ring/diamond,
|
||||
/turf/open/floor/mineral/silver,
|
||||
/area/ruin/powered/pride)
|
||||
"V" = (
|
||||
|
||||
@@ -460,21 +460,20 @@
|
||||
icon_state = "gold ringbox"
|
||||
icon_type = "gold ring"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
spawn_type = /obj/item/clothing/gloves/ring
|
||||
spawn_type = /obj/item/clothing/accessory/ring
|
||||
|
||||
/obj/item/storage/fancy/ringbox/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 1
|
||||
STR.can_hold = typecacheof(list(/obj/item/clothing/gloves/ring))
|
||||
STR.can_hold = typecacheof(list(/obj/item/clothing/accessory/ring))
|
||||
|
||||
/obj/item/storage/fancy/ringbox/diamond
|
||||
icon_state = "diamond ringbox"
|
||||
icon_type = "diamond ring"
|
||||
spawn_type = /obj/item/clothing/gloves/ring/diamond
|
||||
spawn_type = /obj/item/clothing/accessory/ring/diamond
|
||||
|
||||
/obj/item/storage/fancy/ringbox/silver
|
||||
icon_state = "silver ringbox"
|
||||
icon_type = "silver ring"
|
||||
spawn_type = /obj/item/clothing/gloves/ring/silver
|
||||
|
||||
spawn_type = /obj/item/clothing/accessory/ring/silver
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/clothing/gloves/ring
|
||||
/* /obj/item/clothing/gloves/ring
|
||||
name = "gold ring"
|
||||
desc = "A tiny gold ring, sized to wrap around a finger."
|
||||
gender = NEUTER
|
||||
@@ -39,3 +39,5 @@
|
||||
obj_flags = UNIQUE_RENAME
|
||||
icon_state = "ringsilver"
|
||||
item_state = "sring"
|
||||
|
||||
*/
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
/obj/item/clothing/under/proc/attach_accessory(obj/item/I, mob/user, notifyAttach = 1)
|
||||
. = FALSE
|
||||
if(istype(I, /obj/item/clothing/accessory))
|
||||
if(istype(I, /obj/item/clothing/accessory) && !istype(I, /obj/item/clothing/accessory/ring))
|
||||
var/obj/item/clothing/accessory/A = I
|
||||
if(length(attached_accessories) >= max_accessories)
|
||||
if(user)
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
/obj/item/clothing/accessory/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>\The [src] can be attached to a uniform. Alt-click to remove it once attached.</span>"
|
||||
. += "<span class='notice'>\The [src] can be attached to [istype(src, /obj/item/clothing/accessory/ring) ? "gloves" : "a uniform"]. Alt-click to remove it once attached.</span>"
|
||||
if(initial(above_suit))
|
||||
. += "<span class='notice'>\The [src] can be worn above or below your suit. Alt-click to toggle.</span>"
|
||||
|
||||
|
||||
@@ -9,26 +9,7 @@
|
||||
/datum/gear/gloves/evening
|
||||
name = "Evening gloves"
|
||||
path = /obj/item/clothing/gloves/evening
|
||||
|
||||
|
||||
/datum/gear/gloves/midnight
|
||||
name = "Midnight gloves"
|
||||
path = /obj/item/clothing/gloves/evening/black
|
||||
|
||||
/datum/gear/gloves/goldring
|
||||
name = "A gold ring"
|
||||
path = /obj/item/clothing/gloves/ring
|
||||
cost = 2
|
||||
|
||||
/datum/gear/gloves/silverring
|
||||
name = "A silver ring"
|
||||
path = /obj/item/clothing/gloves/ring/silver
|
||||
cost = 2
|
||||
|
||||
/datum/gear/gloves/diamondring
|
||||
name = "A diamond ring"
|
||||
path = /obj/item/clothing/gloves/ring/diamond
|
||||
cost = 4
|
||||
|
||||
/datum/gear/gloves/customring
|
||||
name = "A ring, renameable"
|
||||
path = /obj/item/clothing/gloves/ring/custom
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/datum/gear/accessories/ring
|
||||
category = LOADOUT_CATEGORY_GLOVES
|
||||
slot = SLOT_GLOVES
|
||||
|
||||
/datum/gear/accessories/ring/goldring
|
||||
name = "A gold ring"
|
||||
path = /obj/item/clothing/accessory/ring
|
||||
cost = 2
|
||||
|
||||
/datum/gear/accessories/ring/silverring
|
||||
name = "A silver ring"
|
||||
path = /obj/item/clothing/accessory/ring/silver
|
||||
cost = 2
|
||||
|
||||
/datum/gear/accessories/ring/diamondring
|
||||
name = "A diamond ring"
|
||||
path = /obj/item/clothing/accessory/ring/diamond
|
||||
cost = 4
|
||||
|
||||
/datum/gear/accessories/ring/customring
|
||||
name = "A ring, renameable"
|
||||
path = /obj/item/clothing/accessory/ring/custom
|
||||
@@ -0,0 +1,112 @@
|
||||
/obj/item/clothing/gloves
|
||||
var/dummy_thick = FALSE // is able to hold accessories on its item
|
||||
//SKYRAT EDIT - Removed the old attached accessory system. We use a list of accessories instead.
|
||||
var/list/obj/item/clothing/accessory/ring/attached_accessories = list()
|
||||
var/max_accessories = 1
|
||||
//SKYRAT EDIT END
|
||||
var/mutable_appearance/accessory_overlay
|
||||
|
||||
/obj/item/clothing/gloves/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE)
|
||||
. = ..()
|
||||
if(!isinhands)
|
||||
if(accessory_overlay)
|
||||
. += accessory_overlay
|
||||
|
||||
/obj/item/clothing/gloves/attackby(obj/item/I, mob/user, params)
|
||||
if(!attach_accessory(I, user))
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/gloves/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
return
|
||||
if(length(attached_accessories)) //SKYRAT EDIT
|
||||
remove_accessory(user)
|
||||
|
||||
/obj/item/clothing/gloves/equipped(mob/user, slot)
|
||||
..()
|
||||
|
||||
//SKYRAT EDIT
|
||||
for(var/obj/item/clothing/accessory/ring/attached_accessory in attached_accessories)
|
||||
if(attached_accessory && slot != SLOT_HANDS && ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
attached_accessory.on_uniform_equip(src, user)
|
||||
if(attached_accessory.above_suit)
|
||||
H.update_inv_wear_suit()
|
||||
//SKYRAT EDIT END
|
||||
|
||||
/obj/item/clothing/gloves/dropped(mob/user)
|
||||
//SKYRAT EDIT
|
||||
for(var/obj/item/clothing/accessory/ring/attached_accessory in attached_accessories)
|
||||
attached_accessory.on_uniform_dropped(src, user)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(attached_accessory.above_suit)
|
||||
H.update_inv_wear_suit()
|
||||
//SKYRAT EDIT END
|
||||
..()
|
||||
|
||||
/obj/item/clothing/gloves/proc/attach_accessory(obj/item/I, mob/user, notifyAttach = 1)
|
||||
. = FALSE
|
||||
if(istype(I, /obj/item/clothing/accessory/ring))
|
||||
var/obj/item/clothing/accessory/ring/A = I
|
||||
if(length(attached_accessories) >= max_accessories)
|
||||
if(user)
|
||||
to_chat(user, "<span class='warning'>[src] already has [length(attached_accessories)] accessories.</span>")
|
||||
return
|
||||
if(dummy_thick)
|
||||
if(user)
|
||||
to_chat(user, "<span class='warning'>[src] is too bulky and cannot have accessories attached to it!</span>")
|
||||
return
|
||||
else
|
||||
if(user && !user.temporarilyRemoveItemFromInventory(I))
|
||||
return
|
||||
if(!A.attach(src, user))
|
||||
return
|
||||
|
||||
if(user && notifyAttach)
|
||||
to_chat(user, "<span class='notice'>You attach [I] to [src].</span>")
|
||||
|
||||
if((flags_inv & HIDEACCESSORY) || (A.flags_inv & HIDEACCESSORY))
|
||||
return TRUE
|
||||
|
||||
//SKYRAT EDIT
|
||||
accessory_overlay = mutable_appearance(I.mob_overlay_icon, I.item_state)
|
||||
for(var/obj/item/clothing/accessory/ring/attached_accessory in attached_accessories)
|
||||
var/mutable_appearance/Y = mutable_appearance(attached_accessory.mob_overlay_icon, attached_accessory.icon_state, ABOVE_HUD_LAYER)
|
||||
Y.alpha = attached_accessory.alpha
|
||||
Y.color = attached_accessory.color
|
||||
accessory_overlay.add_overlay(Y)
|
||||
//SKYRAT EDIT END
|
||||
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
H.update_inv_gloves()
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/gloves/proc/remove_accessory(mob/user)
|
||||
if(!isliving(user))
|
||||
return
|
||||
if(!can_use(user))
|
||||
return
|
||||
|
||||
//SKYRAT EDIT
|
||||
if(length(attached_accessories))
|
||||
var/obj/item/clothing/accessory/ring/A = attached_accessories[length(attached_accessories)]
|
||||
//SKYRAT EDIT END
|
||||
A.detach(src, user)
|
||||
if(user.put_in_hands(A))
|
||||
to_chat(user, "<span class='notice'>You detach [A] from [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You detach [A] from [src] and it falls on the floor.</span>")
|
||||
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
H.update_inv_gloves()
|
||||
|
||||
/obj/item/clothing/gloves/examine(mob/user)
|
||||
. = ..()
|
||||
if(length(attached_accessories))
|
||||
for(var/obj/item/clothing/accessory/ring/attached_accessory in attached_accessories)
|
||||
. += "\A [attached_accessory] is attached to one of it's fingers."
|
||||
@@ -0,0 +1,37 @@
|
||||
/obj/item/clothing/accessory/ring
|
||||
name = "gold ring"
|
||||
desc = "A tiny gold ring, sized to wrap around a finger."
|
||||
gender = NEUTER
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = ITEM_SLOT_GLOVES
|
||||
icon = 'icons/obj/ring.dmi'
|
||||
mob_overlay_icon = 'icons/mob/clothing/hands.dmi'
|
||||
icon_state = "ringgold"
|
||||
item_state = "gring"
|
||||
strip_delay = 40
|
||||
|
||||
/obj/item/clothing/accessory/ring/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>\[user] is putting the [src] in [user.p_their()] mouth! It looks like [user] is trying to choke on the [src]!</span>")
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/clothing/accessory/ring/attack_self(mob/user)
|
||||
user.visible_message("<span class='warning'>\The [user] gets down on one knee, presenting \the [src].</span>","<span class='warning'>You get down on one knee, presenting \the [src].</span>")
|
||||
|
||||
/obj/item/clothing/accessory/ring/diamond
|
||||
name = "diamond ring"
|
||||
desc = "An expensive ring, studded with a diamond. Cultures have used these rings in courtship for a millenia."
|
||||
icon_state = "ringdiamond"
|
||||
item_state = "dring"
|
||||
|
||||
/obj/item/clothing/accessory/ring/silver
|
||||
name = "silver ring"
|
||||
desc = "A tiny silver ring, sized to wrap around a finger."
|
||||
icon_state = "ringsilver"
|
||||
item_state = "sring"
|
||||
|
||||
/obj/item/clothing/accessory/ring/custom
|
||||
name = "ring"
|
||||
desc = "A ring."
|
||||
icon_state = "ringsilver"
|
||||
item_state = "sring"
|
||||
obj_flags = UNIQUE_RENAME
|
||||
@@ -3786,11 +3786,14 @@
|
||||
#include "modular_sand\code\modules\client\asset_cache.dm"
|
||||
#include "modular_sand\code\modules\client\preferences.dm"
|
||||
#include "modular_sand\code\modules\client\preferences_savefile.dm"
|
||||
#include "modular_sand\code\modules\client\loadout\accessories.dm"
|
||||
#include "modular_sand\code\modules\client\loadout\boxers.dm"
|
||||
#include "modular_sand\code\modules\client\loadout\shirts.dm"
|
||||
#include "modular_sand\code\modules\client\loadout\socks.dm"
|
||||
#include "modular_sand\code\modules\client\loadout\wrists.dm"
|
||||
#include "modular_sand\code\modules\clothing\refactor.dm"
|
||||
#include "modular_sand\code\modules\clothing\gloves\_gloves.dm"
|
||||
#include "modular_sand\code\modules\clothing\gloves\accessories.dm"
|
||||
#include "modular_sand\code\modules\clothing\head\misc.dm"
|
||||
#include "modular_sand\code\modules\clothing\masks\miscellaneous.dm"
|
||||
#include "modular_sand\code\modules\clothing\outfits\standard.dm"
|
||||
|
||||
Reference in New Issue
Block a user