Revert "Refactor for storage initialization & organization (#89543)" (#90332)

## About The Pull Request

Reverts the storage initialization refactor and all subsequent related
PRs.
The original PR is below our standards both for code quality and
testing, and is majorly flawed at its core. This has been discussed with
other maintainers and headcoder(s?) over on discord. A lot of changes
from the PR could be brought over later, but in its current state it
should not have been merged.

- Closes #90322
- Closes #90313
- Closes #90315
- Closes #90320
- Closes #90312
- Closes #90344

## Why It's Good For The Game

This PR causes a series of major issues which cannot be resolved without
either completely rewriting a lot of the original PR, or bad code.
Not matching our standards is grounds for not merging a PR, and the fact
that a PR should not have been merged is a reason for a revert.

## Changelog
🆑
fix: Fixed a series of storage-related bugs caused by a refactor PR.
/🆑
This commit is contained in:
SmArtKar
2025-03-30 21:30:31 +00:00
committed by GitHub
parent 82c4621de0
commit 6b83a91956
112 changed files with 5251 additions and 6899 deletions
@@ -112,4 +112,4 @@
inhand_icon_state = "sec-case"
/obj/item/storage/briefcase/secure/digital_storage/PopulateContents()
return NONE
return
@@ -110,13 +110,11 @@
illustration = "beaker"
/obj/item/storage/box/alchemist_basic_chems/PopulateContents()
. = list()
for(var/i in 1 to 7)
if(prob(1))
. += /obj/item/reagent_containers/cup/glass/coffee
new /obj/item/reagent_containers/cup/glass/coffee(src)
continue
. += /obj/item/reagent_containers/cup/bottle/alchemist_basic
new /obj/item/reagent_containers/cup/bottle/alchemist_basic(src)
/obj/item/storage/box/alchemist_random_chems
name = "box of potions"
@@ -125,28 +123,25 @@
illustration = "beaker"
/obj/item/storage/box/alchemist_random_chems/PopulateContents()
. = list()
for(var/i in 1 to 7)
if(prob(1))
. += /obj/item/reagent_containers/cup/glass/coffee
new /obj/item/reagent_containers/cup/glass/coffee(src)
continue
. += /obj/item/reagent_containers/cup/bottle/alchemist_random
new /obj/item/reagent_containers/cup/bottle/alchemist_random(src)
/obj/item/storage/box/alchemist_chemistry_kit
name = "box of alchemy tools"
desc = "Contains everything needed for the up and coming chemistry student to enact hazardous chemical mishaps in the comfort of their own home."
/obj/item/storage/box/alchemist_chemistry_kit/PopulateContents()
return list(
/obj/item/reagent_containers/cup/mortar,
/obj/item/pestle,
/obj/item/lighter/skull,
/obj/item/ph_booklet,
/obj/item/thermometer,
/obj/item/storage/test_tube_rack/full,
/obj/item/reagent_containers/cup/glass/coffee,
)
new /obj/item/reagent_containers/cup/mortar(src)
new /obj/item/pestle(src)
new /obj/item/lighter/skull(src)
new /obj/item/ph_booklet(src)
new /obj/item/thermometer(src)
new /obj/item/storage/test_tube_rack/full(src)
new /obj/item/reagent_containers/cup/glass/coffee(src)
/datum/bitrunning_gimmick/rogue
name = "Rogue"
@@ -178,11 +173,10 @@
name = "fannypack of ULTIMATE DESPAIR"
/obj/item/storage/belt/fannypack/black/rogue/PopulateContents()
return list(
/obj/item/food/drug/saturnx,
/obj/item/reagent_containers/cup/blastoff_ampoule,
/obj/item/reagent_containers/hypospray/medipen/methamphetamine,
)
new /obj/item/food/drug/saturnx(src)
new /obj/item/reagent_containers/cup/blastoff_ampoule(src)
new /obj/item/reagent_containers/hypospray/medipen/methamphetamine(src)
/datum/bitrunning_gimmick/healer
name = "Healer"
@@ -50,13 +50,13 @@
/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind = 50,
/obj/item/reagent_containers/cup/soda_cans/monkey_energy = 30,
/obj/item/reagent_containers/cup/soda_cans/volt_energy = 15,
/obj/item/reagent_containers/cup/soda_cans/thirteenloko = 5,
/obj/item/reagent_containers/cup/soda_cans/thirteenloko = 5,
)
/obj/item/storage/cans/sixenergydrink/PopulateContents()
. = list()
for(var/i in 1 to 6)
. += pick_weight(energy_drink_options)
var/obj/item/chosen_energy_drink = pick_weight(energy_drink_options)
new chosen_energy_drink(src)
/datum/bitrunning_gimmick/archer
@@ -70,6 +70,23 @@
/obj/item/ammo_casing/arrow/holy/blazing,
)
/obj/item/storage/bag/quiver/endless
name = "endless quiver"
desc = "Holds arrows for your bow. A deep digital void is contained within."
max_slots = 1
/obj/item/storage/bag/quiver/endless/Initialize(mapload)
. = ..()
RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(handle_removed))
/obj/item/storage/bag/quiver/endless/PopulateContents()
. = ..()
new arrow_path(src)
/obj/item/storage/bag/quiver/endless/proc/handle_removed(datum/source, obj/item/gone)
new arrow_path(src)
/datum/bitrunning_gimmick/fisher
name = "Fisher"
@@ -108,13 +125,13 @@
/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind = 15,
/obj/item/reagent_containers/cup/soda_cans/monkey_energy = 15,
/obj/item/reagent_containers/cup/soda_cans/volt_energy = 10,
/obj/item/reagent_containers/cup/soda_cans/thirteenloko = 5,
/obj/item/reagent_containers/cup/soda_cans/thirteenloko = 5,
)
/obj/item/storage/cans/sixgamerdrink/PopulateContents()
. = list()
for(var/i in 1 to 6)
. += pick_weight(gamer_drink_options)
var/obj/item/chosen_gamer_drink = pick_weight(gamer_drink_options)
new chosen_gamer_drink(src)
/obj/item/modular_computer/laptop/gamer
desc = "A high-end laptop often used for metagaming."
+7 -4
View File
@@ -23,8 +23,6 @@
/obj/item/storage/lockbox/bitrunning/decrypted
name = "decrypted curiosity"
desc = "Compiled from the virtual domain. An extra reward of a successful bitrunner."
storage_type = /datum/storage/lockbox/bitrunning
/// What virtual domain did we come from.
var/datum/lazy_template/virtual_domain/source_domain
@@ -44,8 +42,13 @@
source_domain = completed_domain
. = ..()
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
atom_storage.max_slots = 1
atom_storage.max_total_storage = 3
atom_storage.locked = STORAGE_NOT_LOCKED
icon_state = icon_closed
playsound(src, 'sound/effects/magic/blink.ogg', 50, TRUE)
/obj/item/storage/lockbox/bitrunning/decrypted/PopulateContents()
return SSbitrunning.pick_secondary_loot(source_domain)
var/choice = SSbitrunning.pick_secondary_loot(source_domain)
new choice(src)