diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index a38d3d2f..e3955fa2 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -12,6 +12,7 @@ * Cigarette Box * Cigar Case * Heart Shaped Box w/ Chocolates + * Ring Box */ /obj/item/storage/fancy @@ -350,3 +351,33 @@ GET_COMPONENT(STR, /datum/component/storage) STR.max_items = 8 STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/tinychocolate)) + +/* + * Ring Box + */ + +/obj/item/storage/fancy/ringbox + name = "ring box" + desc = "A tiny box covered in soft red felt made for holding rings." + icon = 'icons/obj/ring.dmi' + icon_state = "gold ringbox" + icon_type = "gold ring" + w_class = WEIGHT_CLASS_TINY + spawn_type = /obj/item/clothing/gloves/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)) + +/obj/item/storage/fancy/ringbox/diamond + icon_state = "diamond ringbox" + icon_type = "diamond ring" + spawn_type = /obj/item/clothing/gloves/ring/diamond + +/obj/item/storage/fancy/ringbox/silver + icon_state = "silver ringbox" + icon_type = "silver ring" + spawn_type = /obj/item/clothing/gloves/ring/silver + diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 149416bf..861c122a 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -3283,3 +3283,20 @@ /obj/item/toner, /obj/item/toner) crate_name = "toner crate" + +/datum/supply_pack/misc/diamondring + name = "Diamond Ring" + desc = "Show them your love is like a diamond: unbreakable and forever lasting. Shipped straight from child slave cartels in the space african mines." + cost = 10000 + contains = list(/obj/item/storage/fancy/ringbox/diamond) + crate_name = "diamond ring crate" + +/datum/supply_pack/misc/jewelry + name = "Jewelry Crate" + desc = "Bling out with this crate of jewelry. Includes gold necklace and a set of two rings." + cost = 5000 + contains = list(/obj/item/clothing/neck/necklace/dope, + /obj/item/storage/fancy/ringbox, + /obj/item/storage/fancy/ringbox/silver + ) + crate_name = "jewelry crate" diff --git a/code/modules/clothing/gloves/ring.dm b/code/modules/clothing/gloves/ring.dm new file mode 100644 index 00000000..d4728493 --- /dev/null +++ b/code/modules/clothing/gloves/ring.dm @@ -0,0 +1,32 @@ +/obj/item/clothing/gloves/ring + name = "gold ring" + desc = "A tiny gold ring, sized to wrap around a finger." + gender = NEUTER + w_class = WEIGHT_CLASS_TINY + icon = 'icons/obj/ring.dmi' + icon_state = "ringgold" + item_state = "gring" + body_parts_covered = 0 + attack_verb = list("proposed") + transfer_prints = TRUE + strip_delay = 40 + +/obj/item/clothing/gloves/ring/suicide_act(mob/living/carbon/user) + user.visible_message("\[user] is putting the [src] in [user.p_their()] mouth! It looks like [user] is trying to choke on the [src]!") + return OXYLOSS + + +/obj/item/clothing/gloves/ring/diamond + name = "diamond ring" + item_state = "dring" + +/obj/item/clothing/gloves/ring/diamond/attack_self(mob/user) + user.visible_message("\The [user] gets down on one knee, presenting \the [src].","You get down on one knee, presenting \the [src].") + desc = "An expensive ring, studded with a diamond. Cultures have used these rings in courtship for a millenia." + icon_state = "ringdiamond" + +/obj/item/clothing/gloves/ring/silver + name = "silver ring" + desc = "A tiny silver ring, sized to wrap around a finger." + icon_state = "ringsilver" + item_state = "sring" \ No newline at end of file diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index b69c6c88..63263b83 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/obj/ring.dmi b/icons/obj/ring.dmi new file mode 100644 index 00000000..3b985fa2 Binary files /dev/null and b/icons/obj/ring.dmi differ diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm index 0a2922f7..1c0b40f4 100644 --- a/modular_citadel/code/modules/client/loadout/backpack.dm +++ b/modular_citadel/code/modules/client/loadout/backpack.dm @@ -120,4 +120,22 @@ name = "A fancy pen" category = SLOT_IN_BACKPACK path = /obj/item/pen/fountain - cost = 2 \ No newline at end of file + cost = 2 + +/datum/gear/ringbox_gold + name = "A gold ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox + cost = 3 + +/datum/gear/ringbox_silver + name = "A silver ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox/silver + cost = 3 + +/datum/gear/ringbox_diamond + name = "A diamond ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox/diamond + cost = 5 \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/gloves.dm b/modular_citadel/code/modules/client/loadout/gloves.dm index 826e8096..641d4f2e 100644 --- a/modular_citadel/code/modules/client/loadout/gloves.dm +++ b/modular_citadel/code/modules/client/loadout/gloves.dm @@ -2,3 +2,21 @@ name = "Fingerless Gloves" category = SLOT_GLOVES path = /obj/item/clothing/gloves/fingerless + +/datum/gear/goldring + name = "A gold ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring + cost = 2 + +/datum/gear/silverring + name = "A silver ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring/silver + cost = 2 + +/datum/gear/diamondring + name = "A diamond ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring/diamond + cost = 4 \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 9fd96b62..cf10f10c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1509,6 +1509,7 @@ #include "code\modules\clothing\gloves\boxing.dm" #include "code\modules\clothing\gloves\color.dm" #include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\ring.dm" #include "code\modules\clothing\gloves\vg_gloves.dm" #include "code\modules\clothing\head\_head.dm" #include "code\modules\clothing\head\beanie.dm"