Revert "Singletons + refactor of /datum/observ (#15487)" (#15515)

This commit is contained in:
Matt Atlas
2023-01-05 19:21:22 +01:00
committed by GitHub
parent 34b1bcd055
commit b1869884c1
506 changed files with 7214 additions and 7561 deletions

View File

@@ -187,7 +187,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
ret += "[D.materials[M] - materials[M]] [M]"
for(var/C in D.chemicals)
if(!reagents.has_reagent(C, D.chemicals[C]))
var/singleton/reagent/R = GET_SINGLETON(C)
var/decl/reagent/R = decls_repository.get_decl(C)
if(ret != "")
ret += ", "
ret += "[R.name]"

View File

@@ -2,7 +2,7 @@
build_type = IMPRINTER
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 2000)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
/datum/design/circuit/AssembleDesignDesc()
if(!desc)

View File

@@ -37,28 +37,28 @@
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 250, MATERIAL_GLASS = 100)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/network_card
/datum/design/item/modularcomponent/netcard/signaler
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 1)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 300, MATERIAL_GLASS = 150)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/network_card/signaler
/datum/design/item/modularcomponent/netcard/advanced
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 200)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/network_card/advanced
/datum/design/item/modularcomponent/netcard/wired
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 400)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/network_card/wired
// Data crystals (USB flash drives)
@@ -66,21 +66,21 @@
req_tech = list(TECH_DATA = 1)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 800)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable
/datum/design/item/modularcomponent/portabledrive/advanced
req_tech = list(TECH_DATA = 2)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 1600)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable/advanced
/datum/design/item/modularcomponent/portabledrive/super
req_tech = list(TECH_DATA = 4)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 3200)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable/super
// Card slot
@@ -149,28 +149,28 @@
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 1600)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/processor_unit
/datum/design/item/modularcomponent/cpu/small
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 800)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/processor_unit/small
/datum/design/item/modularcomponent/cpu/photonic
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 6400, MATERIAL_GLASS = 2000)
chemicals = list(/singleton/reagent/acid = 40)
chemicals = list(/decl/reagent/acid = 40)
build_path = /obj/item/computer_hardware/processor_unit/photonic
/datum/design/item/modularcomponent/cpu/photonic/small
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 3200, MATERIAL_GLASS = 1000)
chemicals = list(/singleton/reagent/acid = 20)
chemicals = list(/decl/reagent/acid = 20)
build_path = /obj/item/computer_hardware/processor_unit/photonic/small
// AI Slot

View File

@@ -182,7 +182,7 @@
ret += "[D.materials[M] - materials[M]] [M]"
for(var/C in D.chemicals)
if(!reagents.has_reagent(C, D.chemicals[C]))
var/singleton/reagent/R = GET_SINGLETON(C)
var/decl/reagent/R = decls_repository.get_decl(C)
if(ret != "")
ret += ", "
ret += "[R.name]"

View File

@@ -78,7 +78,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return return_name
/obj/machinery/computer/rdconsole/proc/CallReagentName(ID)
var/singleton/reagent/R = GET_SINGLETON(ID)
var/decl/reagent/R = decls_repository.get_decl(ID)
return R ? R.name : "(none)"
/obj/machinery/computer/rdconsole/proc/SyncRDevices() //Makes sure it is properly sync'ed up with the devices attached to it (if any).
@@ -742,7 +742,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A><HR>"
dat += "<b><u>Chemical Storage</u></b><BR><HR>"
for(var/_R in linked_lathe.reagents.reagent_volumes)
var/singleton/reagent/R = GET_SINGLETON(_R)
var/decl/reagent/R = decls_repository.get_decl(_R)
dat += "Name: [R.name] | Units: [linked_lathe.reagents.reagent_volumes[_R]] "
dat += "<A href='?src=\ref[src];disposeP=[_R]'>(Purge)</A><BR>"
dat += "<A href='?src=\ref[src];disposeallP=1'><U>Disposal All Chemicals in Storage</U></A><BR>"
@@ -811,7 +811,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<A href='?src=\ref[src];menu=4.1'>Imprinter Menu</A><HR>"
dat += "<b><u>Chemical Storage</u></b><BR><HR>"
for(var/_R in linked_imprinter.reagents.reagent_volumes)
var/singleton/reagent/R = GET_SINGLETON(_R)
var/decl/reagent/R = decls_repository.get_decl(_R)
dat += "Name: [R.name] | Units: [linked_imprinter.reagents.reagent_volumes[_R]] "
dat += "<A href='?src=\ref[src];disposeI=[_R]'>(Purge)</A><BR>"
dat += "<A href='?src=\ref[src];disposeallI=1'><U>Disposal All Chemicals in Storage</U></A><BR>"

View File

@@ -212,22 +212,22 @@
/obj/machinery/artifact/attackby(var/obj/item/W, mob/living/user)
if (istype(W, /obj/item/reagent_containers/))
if(W.reagents.has_reagent(/singleton/reagent/hydrazine, 1) || W.reagents.has_reagent(/singleton/reagent/water, 1))
if(W.reagents.has_reagent(/decl/reagent/hydrazine, 1) || W.reagents.has_reagent(/decl/reagent/water, 1))
if(my_effect.trigger == TRIGGER_WATER)
my_effect.ToggleActivate()
if(secondary_effect?.trigger == TRIGGER_WATER)
secondary_effect.ToggleActivate()
else if(W.reagents.has_reagent(/singleton/reagent/acid, 1) || W.reagents.has_reagent(/singleton/reagent/acid/polyacid, 1) || W.reagents.has_reagent(/singleton/reagent/diethylamine, 1))
else if(W.reagents.has_reagent(/decl/reagent/acid, 1) || W.reagents.has_reagent(/decl/reagent/acid/polyacid, 1) || W.reagents.has_reagent(/decl/reagent/diethylamine, 1))
if(my_effect.trigger == TRIGGER_ACID)
my_effect.ToggleActivate()
if(secondary_effect?.trigger == TRIGGER_ACID)
secondary_effect.ToggleActivate()
else if(W.reagents.has_reagent(/singleton/reagent/toxin/phoron, 1) || W.reagents.has_reagent(/singleton/reagent/thermite, 1))
else if(W.reagents.has_reagent(/decl/reagent/toxin/phoron, 1) || W.reagents.has_reagent(/decl/reagent/thermite, 1))
if(my_effect.trigger == TRIGGER_VOLATILE)
my_effect.ToggleActivate()
if(secondary_effect?.trigger == TRIGGER_VOLATILE)
secondary_effect.ToggleActivate()
else if(W.reagents.has_reagent(/singleton/reagent/toxin, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/cyanide, 1) || W.reagents.has_reagent(/singleton/reagent/toxin/amatoxin, 1) || W.reagents.has_reagent(/singleton/reagent/alcohol/neurotoxin, 1))
else if(W.reagents.has_reagent(/decl/reagent/toxin, 1) || W.reagents.has_reagent(/decl/reagent/toxin/cyanide, 1) || W.reagents.has_reagent(/decl/reagent/toxin/amatoxin, 1) || W.reagents.has_reagent(/decl/reagent/alcohol/neurotoxin, 1))
if(my_effect.trigger == TRIGGER_TOXIN)
my_effect.ToggleActivate()
if(secondary_effect?.trigger == TRIGGER_TOXIN)

View File

@@ -18,7 +18,7 @@
if(affecting && istype(affecting))
affecting.heal_damage(25 * weakness, 25 * weakness)
//H:heal_organ_damage(25, 25)
H.vessel.add_reagent(/singleton/reagent/blood,5, temperature = H.species?.body_temperature)
H.vessel.add_reagent(/decl/reagent/blood,5, temperature = H.species?.body_temperature)
H.adjustNutritionLoss(-50 * weakness)
H.adjustHydrationLoss(-50 * weakness)
H.adjustBrainLoss(-25 * weakness)

View File

@@ -40,21 +40,21 @@ obj/item/reagent_containers/glass/solution_tray/attackby(obj/item/W as obj, mob/
name = "beaker 'tungsten'"
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/tungsten,50)
reagents.add_reagent(/decl/reagent/tungsten,50)
update_icon()
/obj/item/reagent_containers/glass/beaker/oxygen
name = "beaker 'oxygen'"
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/acetone,50)
reagents.add_reagent(/decl/reagent/acetone,50)
update_icon()
/obj/item/reagent_containers/glass/beaker/sodium
name = "beaker 'sodium'"
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/sodium,50)
reagents.add_reagent(/decl/reagent/sodium,50)
update_icon()
/obj/item/reagent_containers/glass/beaker/lithium
@@ -62,7 +62,7 @@ obj/item/reagent_containers/glass/solution_tray/attackby(obj/item/W as obj, mob/
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/lithium,50)
reagents.add_reagent(/decl/reagent/lithium,50)
update_icon()
/obj/item/reagent_containers/glass/beaker/water
@@ -70,7 +70,7 @@ obj/item/reagent_containers/glass/solution_tray/attackby(obj/item/W as obj, mob/
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/water,50)
reagents.add_reagent(/decl/reagent/water,50)
update_icon()
/obj/item/reagent_containers/glass/beaker/fuel
@@ -78,5 +78,5 @@ obj/item/reagent_containers/glass/solution_tray/attackby(obj/item/W as obj, mob/
Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/fuel,50)
reagents.add_reagent(/decl/reagent/fuel,50)
update_icon()

View File

@@ -8,7 +8,7 @@
/obj/item/reagent_containers/glass/replenishing/Initialize()
. = ..()
START_PROCESSING(SSprocessing, src)
spawning_id = pick(/singleton/reagent/blood,/singleton/reagent/water/holywater,/singleton/reagent/lube,/singleton/reagent/soporific,/singleton/reagent/alcohol,/singleton/reagent/drink/ice,/singleton/reagent/glycerol,/singleton/reagent/fuel,/singleton/reagent/spacecleaner)
spawning_id = pick(/decl/reagent/blood,/decl/reagent/water/holywater,/decl/reagent/lube,/decl/reagent/soporific,/decl/reagent/alcohol,/decl/reagent/drink/ice,/decl/reagent/glycerol,/decl/reagent/fuel,/decl/reagent/spacecleaner)
/obj/item/reagent_containers/glass/replenishing/process()
@@ -148,7 +148,7 @@
B.target_turf = pick(seen_turfs_in_range(src, 1))
B.blood_DNA = list()
B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
M.vessel.remove_reagent(/singleton/reagent/blood,rand(25,50))
M.vessel.remove_reagent(/decl/reagent/blood,rand(25,50))
//animated blood 2 SPOOKY
/obj/effect/decal/cleanable/blood/splatter/animated

View File

@@ -30,7 +30,7 @@
icon_state = "sliver[rand(1,3)]"
randpixel_xy()
create_reagents(50)
reagents.add_reagent(/singleton/reagent/stone_dust,50)
reagents.add_reagent(/decl/reagent/stone_dust,50)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Geosample datum

View File

@@ -47,18 +47,18 @@
/obj/machinery/radiocarbon_spectrometer/Initialize()
. = ..()
create_reagents(500)
coolant_reagents_purity[/singleton/reagent/water] = 0.5
coolant_reagents_purity[/singleton/reagent/drink/coffee/icecoffee] = 0.6
coolant_reagents_purity[/singleton/reagent/drink/icetea] = 0.6
coolant_reagents_purity[/singleton/reagent/drink/milkshake] = 0.6
coolant_reagents_purity[/singleton/reagent/leporazine] = 0.7
coolant_reagents_purity[/singleton/reagent/kelotane] = 0.7
coolant_reagents_purity[/singleton/reagent/sterilizine] = 0.7
coolant_reagents_purity[/singleton/reagent/dermaline] = 0.7
coolant_reagents_purity[/singleton/reagent/hyperzine] = 0.8
coolant_reagents_purity[/singleton/reagent/cryoxadone] = 0.9
coolant_reagents_purity[/singleton/reagent/coolant] = 1
coolant_reagents_purity[/singleton/reagent/adminordrazine] = 2
coolant_reagents_purity[/decl/reagent/water] = 0.5
coolant_reagents_purity[/decl/reagent/drink/coffee/icecoffee] = 0.6
coolant_reagents_purity[/decl/reagent/drink/icetea] = 0.6
coolant_reagents_purity[/decl/reagent/drink/milkshake] = 0.6
coolant_reagents_purity[/decl/reagent/leporazine] = 0.7
coolant_reagents_purity[/decl/reagent/kelotane] = 0.7
coolant_reagents_purity[/decl/reagent/sterilizine] = 0.7
coolant_reagents_purity[/decl/reagent/dermaline] = 0.7
coolant_reagents_purity[/decl/reagent/hyperzine] = 0.8
coolant_reagents_purity[/decl/reagent/cryoxadone] = 0.9
coolant_reagents_purity[/decl/reagent/coolant] = 1
coolant_reagents_purity[/decl/reagent/adminordrazine] = 2
/obj/machinery/radiocarbon_spectrometer/attack_hand(var/mob/user as mob)
ui_interact(user)
@@ -104,7 +104,7 @@
coolant_purity = 0
var/num_reagent_types = 0
for (var/_current_reagent in reagents.reagent_volumes)
var/singleton/reagent/current_reagent = GET_SINGLETON(_current_reagent)
var/decl/reagent/current_reagent = decls_repository.get_decl(_current_reagent)
if (!current_reagent)
continue
var/cur_purity = coolant_reagents_purity[_current_reagent]

View File

@@ -146,7 +146,7 @@
force = 10.0
desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)."
excavation_amount = 15
drill_sound = /singleton/sound_category/pickaxe_sound
drill_sound = /decl/sound_category/pickaxe_sound
drill_verb = "clearing"
w_class = ITEMSIZE_NORMAL
can_wield = 0