Ops restock pack changes (#22351)

- rscadd: "Added several new restock packs avaiable from the operations
ordering console."
  - balance: "Rebalanced the prices of the restock packs."
  - rscadd: "Made the restock packs come with cargo access locks."
  - rscadd: "Restock packs are now actual boxes that can be opened."
- rscadd: "The commissary restock crate was moved to the operations
loading bay."
- rscadd: "The toy shelf can now also hold cap gun mags, card packs,
card boxes and music cartridges."

---------

Signed-off-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
Casper3667
2026-04-29 20:08:49 +00:00
committed by GitHub
co-authored by SleepyGemmy
parent e1dc8228c4
commit 4e3d5c42a5
7 changed files with 304 additions and 130 deletions
+8
View File
@@ -352,12 +352,14 @@
item_state = "comic"
/obj/item/toy/comic/azmarian/issue_1
name = "az'marian comic - issue 1"
desc_extended = "Issue 1 - The Az'Marian Landing! - In this issue, the would-be hero departs from Az'Mar and lands in a war-torn \
town in the outskirts of the Kingdom, witnessing the townspeople terrorised by a Zhan'Khazan maniacal terrorist. After mutilating \
his body with alien technology and even cutting off his own arms to replace with robotic equivalents, the cybernetically enhanced \
Corporal Khara'zan will not let his reign of terror be stopped easily. Will the visitor from Az'mar manage to stand in his way and prevail?"
/obj/item/toy/comic/azmarian/issue_2
name = "az'marian comic - issue 2"
desc_extended = "Issue 2 - The Road Towards A Dark Future - In this issue, the Az'Marian meets the local nobility whom he had saved from \
terror, learning that the Kingdom is threatened on all fronts. The superhero embarks on a journey through bandit-infested lands towards the \
headquarters of evil, meeting an unlikely ally and his band of friends. However, all is not what it seems, and the superhero will soon face \
@@ -365,24 +367,28 @@
faces the modern threat of depraved Tajara."
/obj/item/toy/comic/azmarian/issue_3
name = "az'marian comic - issue 3"
desc_extended = "Issue 3 - The Swamp Debacle - In this issue, the Az'Marian and his loyal but dim-witted sidekick Murr'zhul reach a poisonous \
swamp polluted by waste-producing factories. A chemical-obsessed scientist looks to experiment and find the perfect poison for his evil deeds, \
killing the surrounding nature and turning residents sickly. A lumbering creature hiding in the swamp caves, a mad researcher about to find the \
perfect toxin, and the duo seeking to halt his plans. Will they find a way to shut him down?"
/obj/item/toy/comic/azmarian/issue_4
name = "az'marian comic - issue 4"
desc_extended = "Issue 4 - The Den of Evil! - In this issue, the hero and his loyal but dim-witted sidekick Murr'zhul reach the stronghold of \
the retreating Corporal Khara'zan. The superhero uncovers a sinister plot orchestrated by the Corporal's superior to turn all of the local living \
beings into cyborgs. The leader, Director Shul'tyz, is not yet aware of the Az'Marian's presence, and the time is ripe. Met with a slumbering horde \
of cybernetic ha'rrons, schlorrgos and even Tajara, the superhero encounters a threat that will truly test his mettle."
/obj/item/toy/comic/azmarian/issue_5
name = "az'marian comic - issue 5"
desc_extended = "Issue 5 - Path to Recovery - In this issue, the hero, who has faced a successful confrontation with Director Shul'tyz, managed to \
free the local populace of cybernetic mind control, but at a heavy price. The syringe that was shot into him started coursing through his veins, preventing \
him from using his powers in a rapidly degrading state. His loyal sidekick Murr'zhul helps bring the hero to the capital of the ancient Kingdom to seek aid. \
Met with internal politics, a mixed reception, sinister plots and a meeting with the King, will the hero find a way to recover from the illness that plagues him?"
/obj/item/toy/comic/azmarian/issue_6
name = "az'marian comic - issue 6"
desc_extended = "Issue 6 - The Pilgrimage - Steppe Trouble! - In this issue, the hero and his loyal but dim-witted sidekick Murr'zhul embark on a journey \
to a sacred shrine in the mountains built by the early Ancient Tajara. Having received a blessing to prevent his state from degrading from the local priests, \
the hero has little time to waste before the blessing wanes. A meeting with wandering nomads, an audience with their ruler, and a perilous journey across \
@@ -390,12 +396,14 @@
trusted Hharar side-kick manage to reach the mountains?"
/obj/item/toy/comic/azmarian/issue_7
name = "az'marian comic - issue 7"
desc_extended = "Issue 7 - The Pilgrimage Pt. 2 - Mountain Survival - In this issue, the hero and his loyal but dim-witted sidekick Murr'zhul reach \
the mountains that contain the ancient shrine of the Suns, where he would be able to recover from his illness caused by Director Shul'tyz. Trailed \
by Sham'tyrs, facing freezing winds and snow, the two will trek to reach the shrine in hope of recovery. Bandits encampments, a village in need of help, \
a chance encounter with the S'Mara, and a shape-shifting spy amongst the Sham'tyrs, will the heroes make their way in one piece?"
/obj/item/toy/comic/azmarian/issue_8
name = "az'marian comic - issue 8"
desc_extended = "Issue 8 - The Shrine - In this issue, the hero and his loyal but dim-witted sidekick Murr'zhul meet the Parivara at the ancient shrine. \
Tended to by the Sun Sister with the blessing of Messa, the Az'Marian manages to recover from his affliction over the course of a week. He learns of an \
evil plan staged by a group of Cae'rrin living in caves nearby to desecrate the shrine and eat its attendants, and the two embark on a journey to put a \
+132 -33
View File
@@ -587,11 +587,11 @@
name = "commissary cigarette restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 200
price = 240
items = list(
/obj/item/commissary_restrock
/obj/item/storage/box/fancy/commissary_restock
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -601,11 +601,11 @@
name = "commissary tobacco leaves restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 150
price = 100
items = list(
/obj/item/commissary_restrock/rollable
/obj/item/storage/box/fancy/commissary_restock/rollable
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -615,11 +615,11 @@
name = "commissary chewing tobacco restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 175
price = 240
items = list(
/obj/item/commissary_restrock/chewable
/obj/item/storage/box/fancy/commissary_restock/chewable
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -629,11 +629,11 @@
name = "commissary smoking accessories restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 400 // includes a bunch of lottery tickets, so it should be relatively high compared to other restocks
price = 140
items = list(
/obj/item/commissary_restrock/smoking_accessory
/obj/item/storage/box/fancy/commissary_restock/smoking_accessory
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -643,11 +643,11 @@
name = "commissary electronic cigarette restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 225
price = 80
items = list(
/obj/item/commissary_restrock/electronic_cig
/obj/item/storage/box/fancy/commissary_restock/electronic_cig
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -657,11 +657,11 @@
name = "commissary snack restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 150
price = 100
items = list(
/obj/item/commissary_restrock/food
/obj/item/storage/box/fancy/commissary_restock/food
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -671,11 +671,11 @@
name = "commissary xeno snack restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 150
price = 60
items = list(
/obj/item/commissary_restrock/food/xeno
/obj/item/storage/box/fancy/commissary_restock/food/xeno
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -685,11 +685,11 @@
name = "commissary candy restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 150
price = 65
items = list(
/obj/item/commissary_restrock/food/candy
/obj/item/storage/box/fancy/commissary_restock/food/candy
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -699,11 +699,11 @@
name = "commissary microwave meal restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 150
price = 220
items = list(
/obj/item/commissary_restrock/food/microwave
/obj/item/storage/box/fancy/commissary_restock/food/microwave
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -713,11 +713,11 @@
name = "commissary drink restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 300
price = 150
items = list(
/obj/item/commissary_restrock/drink
/obj/item/storage/box/fancy/commissary_restock/drink
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -727,11 +727,110 @@
name = "commissary beer restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 200
price = 100
items = list(
/obj/item/commissary_restrock/drink/booze_cheap
/obj/item/storage/box/fancy/commissary_restock/drink/booze_cheap
)
access = 0
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/toys_restock
category = "operations"
name = "commissary toy restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 110
items = list(
/obj/item/storage/box/fancy/commissary_restock/toy
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/dice_cards_restock
category = "operations"
name = "commissary dice and card restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 120
items = list(
/obj/item/storage/box/fancy/commissary_restock/toy/cards_dice
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/toy_mech_restock
category = "operations"
name = "commissary toy mech restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 200
items = list(
/obj/item/storage/box/fancy/commissary_restock/toy/mech
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/comic_restock
category = "operations"
name = "commissary comic restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 25
items = list(
/obj/item/storage/box/fancy/commissary_restock/toy/comic
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/nka_comic_restock
category = "operations"
name = "commissary az'marian comic series restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 50
items = list(
/obj/item/storage/box/fancy/commissary_restock/toy/comic/nka
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/music_restock
category = "operations"
name = "commissary music restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
price = 50
items = list(
/obj/item/storage/box/fancy/commissary_restock/music
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/tea_restock
category = "operations"
name = "commissary tea restock"
supplier = "getmore"
description = "A box full of stock for the commissary."
// Bulk commissary orders are at a discount, so cheaper per tin of tea than regularly ordering tea
price = 75
items = list(
/obj/item/storage/box/fancy/commissary_restock/tea
)
access = ACCESS_CARGO
container_type = "crate"
groupable = TRUE
spawn_amount = 1
+149 -96
View File
@@ -122,7 +122,11 @@
/obj/item/gun/bang,
/obj/item/eightball,
/obj/item/bikehorn,
/obj/item/camera_film
/obj/item/camera_film,
/obj/item/ammo_magazine/caps,
/obj/item/pack,
/obj/item/storage/card,
/obj/item/music_cartridge
)
display_tiers = 4
display_tier_amt = 5
@@ -130,25 +134,6 @@
/obj/machinery/smartfridge/tradeshelf/mouse_drop_receive(atom/dropping, mob/user, params)
LoadComponent(/datum/component/leanable, dropping)
/obj/machinery/smartfridge/tradeshelf/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/commissary_restrock))
var/obj/item/commissary_restrock/P = attacking_item
var/item_loaded = 0
for(var/obj/G in P.contents)
if(accept_check(G))
if(length(contents) >= max_n_of_items)
break
P.remove_from_storage(G,src)
item_quants[G.name]++
item_loaded++
if(item_loaded)
user.visible_message("<b>[user]</b> loads [src] with [P].", SPAN_NOTICE("You load [src] with [P]."))
if(length(P.contents) > 0)
to_chat(user, SPAN_NOTICE("Some items are refused."))
update_icon()
return TRUE
. = ..()
// -------------------------------------------------
/obj/structure/cash_register/commissary
storage_type = null
@@ -265,14 +250,24 @@
set_light(FALSE)
return
/obj/item/commissary_restrock
/obj/item/storage/box/fancy/commissary_restock
name = "commissary cigarette restock pack"
icon = 'icons/obj/storage/boxes.dmi'
icon_state = "commissary_restock"
item_state = "commissary_restock"
w_class = WEIGHT_CLASS_NORMAL
var/illustration = "sparkler"
var/starts_with = list(
illustration = "sparkler"
label = null
foldable = /obj/item/stack/material/cardboard
color = null
icon_overlays = FALSE
display_contents_with_number = TRUE
allow_quick_gather = TRUE
make_exact_fit = TRUE
can_hold_strict = TRUE
closable = FALSE
opened_icon_state = "commissary_restock_used"
starts_with = list(
// Cigarettes
/obj/item/storage/box/fancy/cigarettes/pra = 3,
/obj/item/storage/box/fancy/cigarettes/dpra = 3,
@@ -286,7 +281,12 @@
/obj/item/storage/box/fancy/cigarettes/cigar = 3
)
/obj/item/commissary_restrock/rollable
/obj/item/storage/box/fancy/commissary_restock/Initialize()
. = ..()
// The copy() at the end is required to avoid every line after this from imploding. Why? I have no idea. It just does.
can_hold = src.starts_with.Copy()
/obj/item/storage/box/fancy/commissary_restock/rollable
name = "commissary tobacco leaves restock pack"
starts_with = list(
// Rollables
@@ -298,7 +298,7 @@
/obj/item/storage/chewables/rollable/vedamor = 3
)
/obj/item/commissary_restrock/chewable
/obj/item/storage/box/fancy/commissary_restock/chewable
name = "commissary chewing tobacco restock pack"
starts_with = list(
// Chewing tobacco
@@ -313,7 +313,7 @@
/obj/item/storage/chewables/solar_salve = 3
)
/obj/item/commissary_restrock/smoking_accessory
/obj/item/storage/box/fancy/commissary_restock/smoking_accessory
name = "commissary smoking accessories restock pack"
starts_with = list(
// Misc smoking
@@ -327,7 +327,7 @@
/obj/item/spacecash/ewallet/lotto = 8 // A bit of a risk that hangar techs may just use them instead of selling, but that should be handled IC as theft
)
/obj/item/commissary_restrock/electronic_cig
/obj/item/storage/box/fancy/commissary_restock/electronic_cig
name = "commissary electronic cigarette restock pack"
starts_with = list(
// Electronic
@@ -339,7 +339,7 @@
/obj/item/reagent_containers/ecig_cartridge/grape = 2
)
/obj/item/commissary_restrock/food
/obj/item/storage/box/fancy/commissary_restock/food
name = "commissary snack restock pack"
illustration = "snack"
starts_with = list(
@@ -361,7 +361,7 @@
/obj/item/reagent_containers/food/snacks/sosjerky = 3
)
/obj/item/commissary_restrock/food/xeno
/obj/item/storage/box/fancy/commissary_restock/food/xeno
name = "commissary xeno snack restock pack"
illustration = "snack"
starts_with = list(
@@ -381,7 +381,7 @@
/obj/item/reagent_containers/food/snacks/adhomian_can = 2,
)
/obj/item/commissary_restrock/food/candy
/obj/item/storage/box/fancy/commissary_restock/food/candy
name = "commissary candy restock pack"
starts_with = list(
// Candy
@@ -393,12 +393,12 @@
/obj/item/storage/box/fancy/vkrexitaffy = 3,
/obj/item/clothing/mask/chewable/candy/lolli = 5,
/obj/item/storage/box/fancy/admints = 3,
/obj/item/reagent_containers/food/drinks/bottle/bestblend,
/obj/item/storage/box/fancy/foysnack,
/obj/item/reagent_containers/food/snacks/choctruffles
/obj/item/reagent_containers/food/drinks/bottle/bestblend = 2,
/obj/item/storage/box/fancy/foysnack = 3,
/obj/item/reagent_containers/food/snacks/choctruffles = 3
)
/obj/item/commissary_restrock/food/microwave
/obj/item/storage/box/fancy/commissary_restock/food/microwave
name = "commissary microwave meal restock pack"
starts_with = list(
// Microwave meals
@@ -418,7 +418,7 @@
/obj/item/storage/box/unique/donkpockets = 3
)
/obj/item/commissary_restrock/drink
/obj/item/storage/box/fancy/commissary_restock/drink
name = "commissary drink restock pack"
illustration = "soda"
starts_with = list(
@@ -451,7 +451,7 @@
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 5
)
/obj/item/commissary_restrock/drink/booze_cheap
/obj/item/storage/box/fancy/commissary_restock/drink/booze_cheap
name = "commissary cheap booze restock pack"
starts_with = list(
// Booze
@@ -465,61 +465,114 @@
/obj/item/reagent_containers/food/drinks/bottle/small/xuizijuice = 6
)
/obj/item/commissary_restrock/Initialize(mapload, ...)
. = ..()
if(illustration)
var/image/illustration_img = image(icon, illustration)
illustration_img.appearance_flags |= RESET_COLOR
AddOverlays(illustration_img)
fill()
/obj/item/commissary_restrock/proc/fill()
if(LAZYLEN(starts_with))
for(var/t in starts_with)
if(!ispath(t))
crash_with("[t] in [src]'s starts_with list is not a path!")
continue
for(var/i=0, i<starts_with[t], i++)
new t(src)
return
/obj/item/storage/box/fancy/commissary_restock/toy
name = "commissary toy restock pack"
illustration = "checkers"
starts_with = list(
// Toys
/obj/item/toy/blink = 3,
/obj/item/storage/box/unique/snappops = 2,
/obj/item/toy/crossbow = 4,
/obj/item/toy/ammo/crossbow = 8,
/obj/item/toy/sword = 3,
/obj/item/toy/katana = 2,
/obj/item/gun/projectile/revolver/capgun = 2,
/obj/item/ammo_magazine/caps = 4,
/obj/item/toy/balloon = 4,
/obj/item/toy/waterballoon = 20
)
/obj/item/commissary_restrock/mechanics_hints(mob/user, distance, is_adjacent)
/obj/item/storage/box/fancy/commissary_restock/toy/cards_dice
name = "commissary card and dice restock pack"
starts_with = list(
// Cards
/obj/item/deck/cards = 5,
/obj/item/deck/tarot = 3,
/obj/item/deck/tarot/nralakk = 2,
/obj/item/deck/tarot/nonnralakk = 2,
/obj/item/deck/tarot/adhomai = 2,
/obj/item/pack/cardemon = 2,
/obj/item/pack/spaceball = 2,
/obj/item/storage/card = 4,
// Dice
/obj/item/storage/pill_bottle/dice = 2,
/obj/item/storage/pill_bottle/dice/gaming = 2,
/obj/item/storage/pill_bottle/dice/tajara = 2
)
/obj/item/storage/box/fancy/commissary_restock/toy/mech
name = "commissary mech toy restock pack"
starts_with = list(
// Mech toys
/obj/item/toy/mech/ripley = 2,
/obj/item/toy/mech/fireripley = 2,
/obj/item/toy/mech/deathripley = 2,
/obj/item/toy/mech/gygax = 2,
/obj/item/toy/mech/durand = 2,
/obj/item/toy/mech/marauder = 2,
/obj/item/toy/mech/seraph = 2,
/obj/item/toy/mech/mauler = 2,
/obj/item/toy/mech/odysseus = 2,
/obj/item/toy/mech/phazon = 2
)
/obj/item/storage/box/fancy/commissary_restock/toy/comic
name = "commissary comic restock pack"
starts_with = list(
// Comics
/obj/item/toy/comic = 2,
/obj/item/toy/comic/inspector = 2,
/obj/item/toy/comic/stormman = 2,
/obj/item/toy/comic/outlandish_tales = 2,
/obj/item/toy/comic/witchfinder = 2
)
/obj/item/storage/box/fancy/commissary_restock/toy/comic/nka
starts_with = list(
// Comics
/obj/item/toy/comic/azmarian/issue_1 = 2,
/obj/item/toy/comic/azmarian/issue_2 = 2,
/obj/item/toy/comic/azmarian/issue_3 = 2,
/obj/item/toy/comic/azmarian/issue_4 = 2,
/obj/item/toy/comic/azmarian/issue_5 = 2,
/obj/item/toy/comic/azmarian/issue_6 = 2,
/obj/item/toy/comic/azmarian/issue_7 = 2,
/obj/item/toy/comic/azmarian/issue_8 = 2
)
/obj/item/storage/box/fancy/commissary_restock/music
name = "commissary music restock pack"
illustration = "disk_kit"
starts_with = list(
// Music cartridges
/obj/item/music_cartridge/ss13 = 2,
/obj/item/music_cartridge/adhomai_swing = 2,
/obj/item/music_cartridge/adhomai_vibes = 2,
/obj/item/music_cartridge/europa_various = 2,
/obj/item/music_cartridge/konyang_retrowave = 2,
/obj/item/music_cartridge/venus_funkydisco = 2,
/obj/item/music_cartridge/xanu_rock = 2,
/obj/item/music_cartridge/audioconsole = 2,
)
/obj/item/storage/box/fancy/commissary_restock/tea
name = "commissary tea restock pack"
illustration = "tea"
starts_with = list(
// Music cartridges
/obj/item/storage/box/unique/tea = 3,
/obj/item/storage/box/unique/tea/tieguanyin = 3,
/obj/item/storage/box/unique/tea/jaekseol = 3,
/obj/item/storage/box/unique/tea/messa = 3,
/obj/item/storage/box/unique/tea/rasnif = 3
)
/obj/item/storage/box/fancy/commissary_restock/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "This item can be used to restock the commissary shelves."
. += "Left-click on this when empty to fold it into a sheet if it is empty."
/obj/item/commissary_restrock/attack_self(mob/user as mob)
. = ..()
if(contents.len)
to_chat(user, SPAN_NOTICE("There are still things left in \the [src]."))
return
to_chat(user, SPAN_NOTICE("You fold \the [src] flat."))
playsound(src.loc, 'sound/items/storage/boxfold.ogg', 30, 1)
var/obj/item/foldable = new /obj/item/stack/material/cardboard()
qdel(src)
user.put_in_hands(foldable) //try to put it inhands if possible
/obj/item/commissary_restrock/proc/remove_from_storage(obj/item/W, atom/new_location)
if(!istype(W))
return FALSE
if(new_location)
W.forceMove(new_location)
else
W.forceMove(get_turf(src))
W.on_exit_storage(src)
update_icon()
return TRUE
/obj/item/commissary_restrock/update_icon()
. = ..()
if(length(contents) == 0)
icon_state = "[initial(icon_state)]_used"
item_state = "[initial(item_state)]_used"
/obj/structure/closet/crate/commissary
name = "commissary crate"
desc = "A crate packed with boxes of various goods. Handle with care!"
@@ -536,14 +589,14 @@
/obj/structure/closet/crate/commissary/resupply
/obj/structure/closet/crate/commissary/resupply/fill()
new /obj/item/commissary_restrock(src)
new /obj/item/commissary_restrock/rollable(src)
new /obj/item/commissary_restrock/chewable(src)
new /obj/item/commissary_restrock/smoking_accessory(src)
new /obj/item/commissary_restrock/electronic_cig(src)
new /obj/item/commissary_restrock/food(src)
new /obj/item/commissary_restrock/food/candy(src)
new /obj/item/commissary_restrock/food/xeno(src)
new /obj/item/commissary_restrock/food/microwave(src)
new /obj/item/commissary_restrock/drink(src)
new /obj/item/commissary_restrock/drink/booze_cheap(src)
new /obj/item/storage/box/fancy/commissary_restock/rollable(src)
new /obj/item/storage/box/fancy/commissary_restock/chewable(src)
new /obj/item/storage/box/fancy/commissary_restock/smoking_accessory(src)
new /obj/item/storage/box/fancy/commissary_restock(src)
new /obj/item/storage/box/fancy/commissary_restock/electronic_cig(src)
new /obj/item/storage/box/fancy/commissary_restock/food(src)
new /obj/item/storage/box/fancy/commissary_restock/food/candy(src)
new /obj/item/storage/box/fancy/commissary_restock/food/xeno(src)
new /obj/item/storage/box/fancy/commissary_restock/food/microwave(src)
new /obj/item/storage/box/fancy/commissary_restock/drink(src)
new /obj/item/storage/box/fancy/commissary_restock/drink/booze_cheap(src)
@@ -416,6 +416,8 @@
update_overlays()
if(update_static_data)
update_static_data_for_all_viewers()
astype(P, /obj/item/storage/box/fancy)?.opened = TRUE
P.update_icon()
return TRUE
to_chat(user, SPAN_NOTICE("[src] smartly refuses [attacking_item]."))
return TRUE
+11
View File
@@ -0,0 +1,11 @@
author: TheGreyWolf
delete-after: True
changes:
- rscadd: "Added several new restock packs avaiable from the operations ordering console."
- balance: "Rebalanced the prices of the restock packs."
- rscadd: "Made the restock packs come with cargo access locks."
- rscadd: "Restock packs are now actual boxes that can be opened."
- rscadd: "The commissary restock crate was moved to the operations loading bay."
- rscadd: "The toy shelf can now also hold cap gun mags, card packs, card boxes and music cartridges."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

+2 -1
View File
@@ -24219,6 +24219,8 @@
/obj/structure/railing/mapped{
dir = 8
},
/obj/structure/closet/crate/commissary/resupply,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled,
/area/horizon/operations/loading)
"dgx" = (
@@ -76682,7 +76684,6 @@
req_one_access = list(26,29,31,48,67,35,25,28,37)
},
/obj/structure/crate_shelf,
/obj/structure/closet/crate/commissary/resupply,
/obj/structure/closet/crate/commissary,
/obj/machinery/door/blast/shutters{
dir = 2;