Singletons + refactor of /datum/observ (#15487)

This commit is contained in:
Fluffy
2023-01-05 18:41:40 +01:00
committed by GitHub
parent 95f8207f08
commit 0ddcf0817a
507 changed files with 7603 additions and 7214 deletions
+1 -1
View File
@@ -127,7 +127,7 @@
for(var/id in carried_reagents)
F.reagents.add_reagent(id, 1, safety = 1) //makes a safety call because all reagents should have already reacted anyway
else
F.reagents.add_reagent(/decl/reagent/water, 1, safety = 1)
F.reagents.add_reagent(/singleton/reagent/water, 1, safety = 1)
// wall formed by metal foams, dense and opaque, but easy to break
+3 -3
View File
@@ -10,7 +10,7 @@
var/health
var/burn_point
var/burning
var/hitsound = /decl/sound_category/swing_hit_sound//generic hit sound.
var/hitsound = /singleton/sound_category/swing_hit_sound//generic hit sound.
var/storage_cost
var/slot_flags = 0 //This is used to determine on which slots an item can fit.
var/no_attack_log = 0 //If it's an item we don't want to log attack_logs with, set this to 1
@@ -54,9 +54,9 @@
///Sound used when equipping the item into a valid slot
var/equip_sound = null
///Sound uses when picking the item up (into your hands)
var/pickup_sound = /decl/sound_category/generic_pickup_sound
var/pickup_sound = /singleton/sound_category/generic_pickup_sound
///Sound uses when dropping the item, or when its thrown.
var/drop_sound = /decl/sound_category/generic_drop_sound // drop sound - this is the default
var/drop_sound = /singleton/sound_category/generic_drop_sound // drop sound - this is the default
var/list/armor
var/armor_degradation_speed //How fast armor will degrade, multiplier to blocked damage to get armor damage value.
+3 -3
View File
@@ -30,9 +30,9 @@
icon_state = "honeycomb"
desc = "Dripping with sugary sweetness."
reagents_to_add = list(
/decl/reagent/nutriment/honey = 10,
/decl/reagent/nutriment = 0.5,
/decl/reagent/sugar = 2
/singleton/reagent/nutriment/honey = 10,
/singleton/reagent/nutriment = 0.5,
/singleton/reagent/sugar = 2
)
bitesize = 2
+12 -12
View File
@@ -23,19 +23,19 @@
/obj/item/reagent_containers/glass/beaker/vial/random
flags = 0
var/list/random_reagent_list = list(list(/decl/reagent/water = 15) = 1, list(/decl/reagent/spacecleaner = 15) = 1)
var/list/random_reagent_list = list(list(/singleton/reagent/water = 15) = 1, list(/singleton/reagent/spacecleaner = 15) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
random_reagent_list = list(
list(/decl/reagent/mindbreaker = 10, /decl/reagent/space_drugs = 20) = 3,
list(/decl/reagent/mercury = 15) = 3,
list(/decl/reagent/toxin/carpotoxin = 15) = 2,
list(/decl/reagent/impedrezene = 15) = 2,
list(/decl/reagent/toxin/dextrotoxin = 10) = 1,
list(/decl/reagent/toxin/spectrocybin = 15) = 1,
list(/decl/reagent/joy = 10, /decl/reagent/water = 20) = 1,
list(/decl/reagent/toxin/berserk = 10) = 1,
list(/decl/reagent/ammonia = 15) = 3)
list(/singleton/reagent/mindbreaker = 10, /singleton/reagent/space_drugs = 20) = 3,
list(/singleton/reagent/mercury = 15) = 3,
list(/singleton/reagent/toxin/carpotoxin = 15) = 2,
list(/singleton/reagent/impedrezene = 15) = 2,
list(/singleton/reagent/toxin/dextrotoxin = 10) = 1,
list(/singleton/reagent/toxin/spectrocybin = 15) = 1,
list(/singleton/reagent/joy = 10, /singleton/reagent/water = 20) = 1,
list(/singleton/reagent/toxin/berserk = 10) = 1,
list(/singleton/reagent/ammonia = 15) = 3)
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()
@@ -48,7 +48,7 @@
var/list/names = new
for(var/_R in reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
var/singleton/reagent/R = GET_SINGLETON(_R)
names += R.name
desc = "Contains [english_list(names)]."
@@ -62,6 +62,6 @@
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
reagents.add_reagent(/decl/reagent/venenum,volume)
reagents.add_reagent(/singleton/reagent/venenum,volume)
desc = "Contains venenum."
update_icon()
+9 -9
View File
@@ -3,42 +3,42 @@
colour = "#DA0000"
shadeColour = "#810C0C"
colourName = "red"
reagents_to_add = list(/decl/reagent/crayon_dust/red = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/red = 10)
/obj/item/pen/crayon/orange
icon_state = "crayonorange"
colour = "#FF9300"
shadeColour = "#A55403"
colourName = "orange"
reagents_to_add = list(/decl/reagent/crayon_dust/orange = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/orange = 10)
/obj/item/pen/crayon/yellow
icon_state = "crayonyellow"
colour = "#FFF200"
shadeColour = "#886422"
colourName = "yellow"
reagents_to_add = list(/decl/reagent/crayon_dust/yellow = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/yellow = 10)
/obj/item/pen/crayon/green
icon_state = "crayongreen"
colour = "#A8E61D"
shadeColour = "#61840F"
colourName = "green"
reagents_to_add = list(/decl/reagent/crayon_dust/green = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/green = 10)
/obj/item/pen/crayon/blue
icon_state = "crayonblue"
colour = "#00B7EF"
shadeColour = "#0082A8"
colourName = "blue"
reagents_to_add = list(/decl/reagent/crayon_dust/blue = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/blue = 10)
/obj/item/pen/crayon/purple
icon_state = "crayonpurple"
colour = "#DA00FF"
shadeColour = "#810CFF"
colourName = "purple"
reagents_to_add = list(/decl/reagent/crayon_dust/purple = 10)
reagents_to_add = list(/singleton/reagent/crayon_dust/purple = 10)
/obj/item/pen/crayon/mime
icon_state = "crayonmime"
@@ -46,7 +46,7 @@
colour = "#FFFFFF"
shadeColour = "#000000"
colourName = "mime"
reagents_to_add = list(/decl/reagent/crayon_dust/grey = 15)
reagents_to_add = list(/singleton/reagent/crayon_dust/grey = 15)
/obj/item/pen/crayon/mime/attack_self(mob/living/user as mob) //inversion
if(colour != "#FFFFFF" && shadeColour != "#000000")
@@ -64,7 +64,7 @@
colour = "#FFF000"
shadeColour = "#000FFF"
colourName = "rainbow"
reagents_to_add = list(/decl/reagent/crayon_dust/brown = 20)
reagents_to_add = list(/singleton/reagent/crayon_dust/brown = 20)
/obj/item/pen/crayon/rainbow/attack_self(mob/living/user as mob)
colour = input(user, "Please select the main colour.", "Crayon colour") as color
@@ -126,7 +126,7 @@
to_chat(user, "You finish drawing.")
target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on.
if(reagents && LAZYLEN(reagents_to_add))
for(var/decl/reagent/R in reagents_to_add)
for(var/singleton/reagent/R in reagents_to_add)
reagents.remove_reagent(R,0.5/LAZYLEN(reagents_to_add)) //using crayons reduces crayon dust in it.
if(!reagents.has_all_reagents(reagents_to_add))
to_chat(user, "<span class='warning'>You used up your crayon!</span>")
@@ -116,8 +116,8 @@
if(M.getBrainLoss() > 15)
to_chat(user, SPAN_NOTICE("There's visible lag between left and right pupils' reactions."))
var/list/pinpoint = list(/decl/reagent/oxycomorphine=1,/decl/reagent/mortaphenyl=5)
var/list/dilating = list(/decl/reagent/space_drugs=5,/decl/reagent/mindbreaker=1)
var/list/pinpoint = list(/singleton/reagent/oxycomorphine=1,/singleton/reagent/mortaphenyl=5)
var/list/dilating = list(/singleton/reagent/space_drugs=5,/singleton/reagent/mindbreaker=1)
var/datum/reagents/ingested = H.get_ingested_reagents()
if(H.reagents.has_any_reagent(pinpoint) || ingested.has_any_reagent(pinpoint))
to_chat(user, SPAN_NOTICE("\The [M]'s pupils are already pinpoint and cannot narrow any more."))
@@ -246,7 +246,7 @@
/obj/item/device/lightreplacer/emag_act(var/remaining_charges, var/mob/user)
emagged = !emagged
playsound(src.loc, /decl/sound_category/spark_sound, 100, 1)
playsound(src.loc, /singleton/sound_category/spark_sound, 100, 1)
update_icon()
return 1
@@ -71,7 +71,7 @@
if(attached)
to_chat(user, SPAN_NOTICE("You initialize the memory wipe protocols. This procedure will take approximately 30 seconds."))
to_chat(attached, SPAN_WARNING("The computer hums to life and you feel your memories bleed away into nothingness."))
playsound(src.loc, /decl/sound_category/keyboard_sound, 30, TRUE)
playsound(src.loc, /singleton/sound_category/keyboard_sound, 30, TRUE)
wiping = TRUE
update_icon()
if(wipe_bar)
@@ -42,7 +42,7 @@ var/global/list/default_medbay_channels = list(
var/radio_desc = ""
var/const/FREQ_LISTENING = TRUE
var/list/internal_channels
var/clicksound = /decl/sound_category/button_sound //played sound on usage
var/clicksound = /singleton/sound_category/button_sound //played sound on usage
var/clickvol = 10 //volume
var/obj/item/cell/cell = /obj/item/cell/device
+14 -14
View File
@@ -305,7 +305,7 @@ BREATH ANALYZER
var/unknown = 0
var/reagentdata[0]
for(var/_R in H.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
var/singleton/reagent/R = GET_SINGLETON(_R)
if(R.scannable)
print_reagent_default_message = FALSE
reagentdata["[_R]"] = "<span class='notice'> [round(REAGENT_VOLUME(H.reagents, _R), 1)]u [R.name]</span>"
@@ -324,7 +324,7 @@ BREATH ANALYZER
if(ingested && ingested.total_volume)
var/unknown = 0
for(var/_R in ingested.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
var/singleton/reagent/R = GET_SINGLETON(_R)
if(R.scannable)
print_reagent_default_message = FALSE
dat += "<span class='notice'>[R.name] found in subject's stomach.</span>"
@@ -438,13 +438,13 @@ BREATH ANALYZER
if(LAZYLEN(reagents.reagent_volumes) > 1)
to_chat(user, SPAN_WARNING("There isn't enough blood in the sample!"))
return
if(!REAGENT_DATA(reagents, /decl/reagent/blood))
if(!REAGENT_DATA(reagents, /singleton/reagent/blood))
to_chat(user, SPAN_WARNING("The sample was contaminated with non-blood reagents!"))
return
var/list/blood_traces = reagents.reagent_data[/decl/reagent/blood]["trace_chem"]
var/list/blood_traces = reagents.reagent_data[/singleton/reagent/blood]["trace_chem"]
var/list/output_text = list("Trace Chemicals Found:")
for(var/_C in blood_traces)
var/decl/reagent/C = decls_repository.get_decl(_C)
var/singleton/reagent/C = GET_SINGLETON(_C)
if(C.spectro_hidden && !details)
continue
if(details)
@@ -498,7 +498,7 @@ BREATH ANALYZER
var/dat = ""
var/one_percent = O.reagents.total_volume / 100
for (var/_R in O.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
var/singleton/reagent/R = GET_SINGLETON(_R)
dat += "\n \t [R][details ? ": [O.reagents.reagent_volumes[_R] / one_percent]%" : ""]"
to_chat(user, SPAN_NOTICE("Chemicals found: [dat]"))
@@ -669,7 +669,7 @@ BREATH ANALYZER
if(H.breathing && H.breathing.total_volume)
var/unknown = 0
for(var/_R in H.breathing.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
var/singleton/reagent/R = GET_SINGLETON(_R)
if(R.scannable)
to_chat(user,"<span class='notice'>[R.name] found in subject's respiratory system.</span>")
else
@@ -739,13 +739,13 @@ BREATH ANALYZER
"paralysis" = H.paralysis,
"bodytemp" = H.bodytemperature,
"borer_present" = H.has_brain_worms(),
"inaprovaline_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/inaprovaline),
"dexalin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/dexalin),
"stoxin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/soporific),
"bicaridine_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/bicaridine),
"dermaline_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/dermaline),
"thetamycin_amount" = REAGENT_VOLUME(H.reagents, /decl/reagent/thetamycin),
"blood_amount" = REAGENT_VOLUME(H.vessel, /decl/reagent/blood),
"inaprovaline_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/inaprovaline),
"dexalin_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/dexalin),
"stoxin_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/soporific),
"bicaridine_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/bicaridine),
"dermaline_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/dermaline),
"thetamycin_amount" = REAGENT_VOLUME(H.reagents, /singleton/reagent/thetamycin),
"blood_amount" = REAGENT_VOLUME(H.vessel, /singleton/reagent/blood),
"disabilities" = H.sdisabilities,
"lung_ruptured" = H.is_lung_ruptured(),
"lung_rescued" = H.is_lung_rescued(),
+4 -4
View File
@@ -68,7 +68,7 @@
if(O.reagents.total_volume < 1)
to_chat(user, "The [O] is empty.")
else if(O.reagents.total_volume >= 1)
if(O.reagents.has_reagent(/decl/reagent/acid/polyacid, 1))
if(O.reagents.has_reagent(/singleton/reagent/acid/polyacid, 1))
to_chat(user, "The acid chews through the balloon!")
O.reagents.splash(user, reagents.total_volume)
qdel(src)
@@ -555,8 +555,8 @@
icon_state = "katana"
item_state = "katana"
drop_sound = 'sound/items/drop/gun.ogg'
pickup_sound = /decl/sound_category/sword_pickup_sound
equip_sound = /decl/sound_category/sword_equip_sound
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
@@ -1240,7 +1240,7 @@
/obj/item/toy/desk
var/on = FALSE
var/activation_sound = /decl/sound_category/switch_sound
var/activation_sound = /singleton/sound_category/switch_sound
/obj/item/toy/desk/update_icon()
if(on)
+4 -4
View File
@@ -55,7 +55,7 @@
/obj/item/trash/waffles
name = "square tray"
icon_state = "waffles"
drop_sound = /decl/sound_category/tray_hit_sound
drop_sound = /singleton/sound_category/tray_hit_sound
/obj/item/trash/plate
name = "plate"
@@ -83,7 +83,7 @@
/obj/item/trash/tray
name = "tray"
icon_state = "tray"
drop_sound = /decl/sound_category/tray_hit_sound
drop_sound = /singleton/sound_category/tray_hit_sound
/obj/item/trash/candle
name = "candle"
@@ -119,7 +119,7 @@
/obj/item/trash/brownies
name = "square tray"
icon_state = "brownies"
drop_sound = /decl/sound_category/tray_hit_sound
drop_sound = /singleton/sound_category/tray_hit_sound
/obj/item/trash/snacktray
name = "snacktray"
@@ -166,7 +166,7 @@
/obj/item/trash/grease //used for generic plattered food. example is lasagna.
name = "square tray"
icon_state = "grease"
drop_sound = /decl/sound_category/tray_hit_sound
drop_sound = /singleton/sound_category/tray_hit_sound
/obj/item/trash/cookiesnack
name = "\improper Carps Ahoy! miniature cookies"
+2 -2
View File
@@ -474,8 +474,8 @@ var/const/NO_EMAG_ACT = -50
desc = "An ID straight from CentCom. Internal Affairs."
icon_state = "ccia"
overlay_state = "ccia"
drop_sound = /decl/sound_category/generic_drop_sound
pickup_sound = /decl/sound_category/generic_pickup_sound
drop_sound = /singleton/sound_category/generic_drop_sound
pickup_sound = /singleton/sound_category/generic_pickup_sound
/obj/item/card/id/ccia/id_flash(var/mob/user)
var/add_text = "Done with prejudice and professionalism, [user.get_pronoun("he")] means business."
+16 -16
View File
@@ -126,22 +126,22 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/tobacco/bad
name = "chewing tobacco"
desc = "A chewy wad of cheap tobacco. Cut in long strands and treated with syrup so it tastes less like an ash-tray when you stuff it into your face."
reagents_to_add = list(/decl/reagent/toxin/tobacco/fake = 2)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/fake = 2)
/obj/item/clothing/mask/chewable/tobacco/generic
name = "chewing tobacco"
desc = "A chewy wad of tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face."
reagents_to_add = list(/decl/reagent/toxin/tobacco = 2)
reagents_to_add = list(/singleton/reagent/toxin/tobacco = 2)
/obj/item/clothing/mask/chewable/tobacco/fine
name = "chewing tobacco"
desc = "A chewy wad of fine tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face."
reagents_to_add = list(/decl/reagent/toxin/tobacco/rich = 2)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/rich = 2)
/obj/item/clothing/mask/chewable/tobacco/nico
name = "nicotine gum"
desc = "A chewy wad of synthetic rubber, laced with nicotine. Possibly the least disgusting method of nicotine delivery."
reagents_to_add = list(/decl/reagent/mental/nicotine = 2)
reagents_to_add = list(/singleton/reagent/mental/nicotine = 2)
icon_state = "nic_gum"
type_butt = /obj/item/trash/spitgum
wrapped = TRUE
@@ -156,7 +156,7 @@ obj/item/clothing/mask/chewable/Destroy()
slot_flags = SLOT_EARS | SLOT_MASK
chem_volume = 50
chewtime = 300
reagents_to_add = list(/decl/reagent/sugar = 2)
reagents_to_add = list(/singleton/reagent/sugar = 2)
/obj/item/trash/spitgum
name = "old gum"
@@ -176,7 +176,7 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/gum/Initialize()
. = ..()
reagents.add_reagent(pick(/decl/reagent/drink/banana,/decl/reagent/drink/berryjuice,/decl/reagent/drink/grapejuice,/decl/reagent/drink/lemonjuice,/decl/reagent/drink/limejuice,/decl/reagent/drink/orangejuice,/decl/reagent/drink/watermelonjuice),10)
reagents.add_reagent(pick(/singleton/reagent/drink/banana,/singleton/reagent/drink/berryjuice,/singleton/reagent/drink/grapejuice,/singleton/reagent/drink/lemonjuice,/singleton/reagent/drink/limejuice,/singleton/reagent/drink/orangejuice,/singleton/reagent/drink/watermelonjuice),10)
color = reagents.get_color()
update_icon()
@@ -188,7 +188,7 @@ obj/item/clothing/mask/chewable/Destroy()
wrapped = FALSE
/obj/item/clothing/mask/chewable/candy/gum/gumball/medical
reagents_to_add = list(/decl/reagent/tricordrazine = 5)
reagents_to_add = list(/singleton/reagent/tricordrazine = 5)
/obj/item/storage/box/fancy/gum
@@ -243,7 +243,7 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/Initialize()
. = ..()
reagents.add_reagent(pick(/decl/reagent/drink/banana,/decl/reagent/drink/berryjuice,/decl/reagent/drink/grapejuice,/decl/reagent/drink/lemonjuice,/decl/reagent/drink/limejuice,/decl/reagent/drink/orangejuice,/decl/reagent/drink/watermelonjuice),20)
reagents.add_reagent(pick(/singleton/reagent/drink/banana,/singleton/reagent/drink/berryjuice,/singleton/reagent/drink/grapejuice,/singleton/reagent/drink/lemonjuice,/singleton/reagent/drink/limejuice,/singleton/reagent/drink/orangejuice,/singleton/reagent/drink/watermelonjuice),20)
color = reagents.get_color()
update_icon()
@@ -255,10 +255,10 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/meds/Initialize()
. = ..()
var/decl/reagent/payload = pick(list(
/decl/reagent/perconol,
/decl/reagent/mortaphenyl,
/decl/reagent/dylovene))
var/singleton/reagent/payload = pick(list(
/singleton/reagent/perconol,
/singleton/reagent/mortaphenyl,
/singleton/reagent/dylovene))
reagents.add_reagent(payload, 15)
color = reagents.get_color()
desc = "[desc] This one is labeled '[initial(payload.name)]'."
@@ -266,13 +266,13 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/weak_meds
name = "medicine lollipop"
desc = "A sucrose sphere on a small handle, it has been infused with medication."
reagents_to_add = list(/decl/reagent/sugar = 6)
reagents_to_add = list(/singleton/reagent/sugar = 6)
/obj/item/clothing/mask/chewable/candy/lolli/weak_meds/Initialize()
. = ..()
var/decl/reagent/payload = pick(list(
/decl/reagent/dylovene,
/decl/reagent/inaprovaline))
var/singleton/reagent/payload = pick(list(
/singleton/reagent/dylovene,
/singleton/reagent/inaprovaline))
reagents.add_reagent(payload, 15)
color = reagents.get_color()
desc = "[desc] This one is labeled '[initial(payload.name)]'."
@@ -200,15 +200,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
playsound(src, 'sound/items/cigs_lighters/cig_light.ogg', 75, 1, -1)
src.reagents.set_temperature(T0C + 45)
damtype = "fire"
if(REAGENT_VOLUME(reagents, /decl/reagent/toxin/phoron)) // the phoron explodes when exposed to fire
if(REAGENT_VOLUME(reagents, /singleton/reagent/toxin/phoron)) // the phoron explodes when exposed to fire
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round(REAGENT_VOLUME(reagents, /decl/reagent/toxin/phoron) / 2.5, 1), get_turf(src), 0, 0)
e.set_up(round(REAGENT_VOLUME(reagents, /singleton/reagent/toxin/phoron) / 2.5, 1), get_turf(src), 0, 0)
e.start()
qdel(src)
return
if(REAGENT_VOLUME(reagents, /decl/reagent/fuel)) // the fuel explodes, too, but much less violently
if(REAGENT_VOLUME(reagents, /singleton/reagent/fuel)) // the fuel explodes, too, but much less violently
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round(REAGENT_VOLUME(reagents, /decl/reagent/fuel) / 5, 1), get_turf(src), 0, 0)
e.set_up(round(REAGENT_VOLUME(reagents, /singleton/reagent/fuel) / 5, 1), get_turf(src), 0, 0)
e.start()
qdel(src)
return
@@ -312,8 +312,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
weldermes = "<span class='notice'>USER casually lights the NAME with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME.</span>"
reagents_to_add = list(
/decl/reagent/toxin/tobacco = 10,
/decl/reagent/mental/nicotine = 5
/singleton/reagent/toxin/tobacco = 10,
/singleton/reagent/mental/nicotine = 5
)
/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/W as obj, mob/user as mob)
@@ -373,15 +373,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/vanilla
burn_rate = 0.015
reagents_to_add = list(/decl/reagent/toxin/tobacco = 15)
reagents_to_add = list(/singleton/reagent/toxin/tobacco = 15)
/obj/item/clothing/mask/smokable/cigarette/acmeco
burn_rate = 0.015
reagents_to_add = list(
/decl/reagent/toxin/tobacco = 5,
/decl/reagent/mental/nicotine = 5,
/decl/reagent/lexorin = 2,
/decl/reagent/serotrotium = 3
/singleton/reagent/toxin/tobacco = 5,
/singleton/reagent/mental/nicotine = 5,
/singleton/reagent/lexorin = 2,
/singleton/reagent/serotrotium = 3
)
/obj/item/clothing/mask/smokable/cigarette/blank
@@ -391,28 +391,28 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/dromedaryco
reagents_to_add = list(
/decl/reagent/toxin/tobacco = 5,
/decl/reagent/mental/nicotine = 10
/singleton/reagent/toxin/tobacco = 5,
/singleton/reagent/mental/nicotine = 10
)
/obj/item/clothing/mask/smokable/cigarette/nicotine
reagents_to_add = list(
/decl/reagent/toxin/tobacco/rich = 5,
/decl/reagent/mental/nicotine = 10
/singleton/reagent/toxin/tobacco/rich = 5,
/singleton/reagent/mental/nicotine = 10
)
/obj/item/clothing/mask/smokable/cigarette/rugged
reagents_to_add = list(
/decl/reagent/toxin/tobacco/fake = 10,
/decl/reagent/mental/nicotine = 5
/singleton/reagent/toxin/tobacco/fake = 10,
/singleton/reagent/mental/nicotine = 5
)
/obj/item/clothing/mask/smokable/cigarette/adhomai
name = "adhomian cigarette"
desc = "An adhomian cigarette made from processed S'rendarr's Hand."
reagents_to_add = list(
/decl/reagent/toxin/tobacco = 5,
/decl/reagent/mental/nicotine = 5
/singleton/reagent/toxin/tobacco = 5,
/singleton/reagent/mental/nicotine = 5
)
////////////
@@ -437,8 +437,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
drop_sound = 'sound/items/drop/gloves.ogg'
pickup_sound = 'sound/items/pickup/gloves.ogg'
reagents_to_add = list(
/decl/reagent/toxin/tobacco/rich = 25,
/decl/reagent/mental/nicotine = 5
/singleton/reagent/toxin/tobacco/rich = 25,
/singleton/reagent/mental/nicotine = 5
)
/obj/item/clothing/mask/smokable/cigarette/cigar/havana
@@ -451,9 +451,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
type_butt = /obj/item/trash/cigbutt/cigarbutt/alt
chem_volume = 60
reagents_to_add = list(
/decl/reagent/toxin/tobacco/rich = 15,
/decl/reagent/mental/nicotine = 5,
/decl/reagent/tricordrazine = 10
/singleton/reagent/toxin/tobacco/rich = 15,
/singleton/reagent/mental/nicotine = 5,
/singleton/reagent/tricordrazine = 10
)
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba
@@ -466,9 +466,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
type_butt = /obj/item/trash/cigbutt/cigarbutt/alt
chem_volume = 120
reagents_to_add = list(
/decl/reagent/toxin/tobacco/rich = 30,
/decl/reagent/mental/nicotine = 10,
/decl/reagent/tricordrazine = 20
/singleton/reagent/toxin/tobacco/rich = 30,
/singleton/reagent/mental/nicotine = 10,
/singleton/reagent/tricordrazine = 20
)
/obj/item/trash/cigbutt
@@ -511,7 +511,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_off = "sausageoff"
type_butt = /obj/item/trash/cigbutt/sausagebutt
chem_volume = 6
reagents_to_add = list(/decl/reagent/nutriment/protein = 6)
reagents_to_add = list(/singleton/reagent/nutriment/protein = 6)
/obj/item/trash/cigbutt/sausagebutt
name = "sausage butt"
+8 -8
View File
@@ -263,39 +263,39 @@ obj/item/clothing/mask/smokable/ecig/util/examine(mob/user)
/obj/item/reagent_containers/ecig_cartridge/blanknico
name = "flavorless nicotine cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says you can add whatever flavoring agents you want."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 5, /decl/reagent/water = 10)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 5, /singleton/reagent/water = 10)
/obj/item/reagent_containers/ecig_cartridge/med_nicotine
name = "tobacco flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its tobacco flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 5, /decl/reagent/water = 15)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 5, /singleton/reagent/water = 15)
/obj/item/reagent_containers/ecig_cartridge/high_nicotine
name = "high nicotine tobacco flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its tobacco flavored, with extra nicotine."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 10, /decl/reagent/water = 10)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10)
/obj/item/reagent_containers/ecig_cartridge/orange
name = "orange flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its orange flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 5, /decl/reagent/water = 10, /decl/reagent/drink/orangejuice = 5)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 5, /singleton/reagent/water = 10, /singleton/reagent/drink/orangejuice = 5)
/obj/item/reagent_containers/ecig_cartridge/watermelon
name = "watermelon flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its watermelon flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 10, /decl/reagent/water = 10, /decl/reagent/drink/watermelonjuice = 5)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10, /singleton/reagent/drink/watermelonjuice = 5)
/obj/item/reagent_containers/ecig_cartridge/grape
name = "grape flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its grape flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 10, /decl/reagent/water = 10, /decl/reagent/drink/grapejuice = 5)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10, /singleton/reagent/drink/grapejuice = 5)
/obj/item/reagent_containers/ecig_cartridge/lemonlime
name = "lemon-lime flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its lemon-lime flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 10, /decl/reagent/water = 10, /decl/reagent/drink/lemon_lime = 5)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10, /singleton/reagent/drink/lemon_lime = 5)
/obj/item/reagent_containers/ecig_cartridge/coffee
name = "coffee flavour cartridge"
desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its coffee flavored."
reagents_to_add = list(/decl/reagent/toxin/tobacco/liquid = 10, /decl/reagent/water = 10, /decl/reagent/drink/coffee = 5)
reagents_to_add = list(/singleton/reagent/toxin/tobacco/liquid = 10, /singleton/reagent/water = 10, /singleton/reagent/drink/coffee = 5)
@@ -76,7 +76,7 @@
/obj/item/reagent_containers/extinguisher_refill/filled/Initialize()
. = ..()
reagents.add_reagent(/decl/reagent/toxin/fertilizer/monoammoniumphosphate, volume)
reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, volume)
flags &= ~OPENCONTAINER
/obj/item/extinguisher
@@ -123,7 +123,7 @@
/obj/item/extinguisher/New()
create_reagents(max_water)
reagents.add_reagent(/decl/reagent/toxin/fertilizer/monoammoniumphosphate, max_water)
reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, max_water)
..()
/obj/item/extinguisher/examine(mob/user)
@@ -201,9 +201,9 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/aluminum, 30)
B2.reagents.add_reagent(/decl/reagent/foaming_agent, 10)
B2.reagents.add_reagent(/decl/reagent/acid/polyacid, 10)
B1.reagents.add_reagent(/singleton/reagent/aluminum, 30)
B2.reagents.add_reagent(/singleton/reagent/foaming_agent, 10)
B2.reagents.add_reagent(/singleton/reagent/acid/polyacid, 10)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -222,11 +222,11 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/aluminum, 15)
B1.reagents.add_reagent(/decl/reagent/fuel,20)
B2.reagents.add_reagent(/decl/reagent/toxin/phoron, 15)
B2.reagents.add_reagent(/decl/reagent/acid, 15)
B1.reagents.add_reagent(/decl/reagent/fuel,20)
B1.reagents.add_reagent(/singleton/reagent/aluminum, 15)
B1.reagents.add_reagent(/singleton/reagent/fuel,20)
B2.reagents.add_reagent(/singleton/reagent/toxin/phoron, 15)
B2.reagents.add_reagent(/singleton/reagent/acid, 15)
B1.reagents.add_reagent(/singleton/reagent/fuel,20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -245,10 +245,10 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/toxin/plantbgone, 25)
B1.reagents.add_reagent(/decl/reagent/potassium, 25)
B2.reagents.add_reagent(/decl/reagent/phosphorus, 25)
B2.reagents.add_reagent(/decl/reagent/sugar, 25)
B1.reagents.add_reagent(/singleton/reagent/toxin/plantbgone, 25)
B1.reagents.add_reagent(/singleton/reagent/potassium, 25)
B2.reagents.add_reagent(/singleton/reagent/phosphorus, 25)
B2.reagents.add_reagent(/singleton/reagent/sugar, 25)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -267,12 +267,12 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/sugar, 20)
B1.reagents.add_reagent(/decl/reagent/potassium,20)
B1.reagents.add_reagent(/decl/reagent/soporific, 10)
B1.reagents.add_reagent(/decl/reagent/dylovene, 10)
B2.reagents.add_reagent(/decl/reagent/polysomnine,40)
B2.reagents.add_reagent(/decl/reagent/phosphorus,20)
B1.reagents.add_reagent(/singleton/reagent/sugar, 20)
B1.reagents.add_reagent(/singleton/reagent/potassium,20)
B1.reagents.add_reagent(/singleton/reagent/soporific, 10)
B1.reagents.add_reagent(/singleton/reagent/dylovene, 10)
B2.reagents.add_reagent(/singleton/reagent/polysomnine,40)
B2.reagents.add_reagent(/singleton/reagent/phosphorus,20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -291,9 +291,9 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/surfactant, 40)
B2.reagents.add_reagent(/decl/reagent/water, 40)
B2.reagents.add_reagent(/decl/reagent/spacecleaner, 10)
B1.reagents.add_reagent(/singleton/reagent/surfactant, 40)
B2.reagents.add_reagent(/singleton/reagent/water, 40)
B2.reagents.add_reagent(/singleton/reagent/spacecleaner, 10)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -312,9 +312,9 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/surfactant, 40)
B2.reagents.add_reagent(/decl/reagent/water, 40)
B2.reagents.add_reagent(/decl/reagent/antifuel, 10)
B1.reagents.add_reagent(/singleton/reagent/surfactant, 40)
B2.reagents.add_reagent(/singleton/reagent/water, 40)
B2.reagents.add_reagent(/singleton/reagent/antifuel, 10)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -333,10 +333,10 @@
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/toxin/cardox, 40)
B1.reagents.add_reagent(/decl/reagent/potassium, 40)
B2.reagents.add_reagent(/decl/reagent/phosphorus, 40)
B2.reagents.add_reagent(/decl/reagent/sugar, 40)
B1.reagents.add_reagent(/singleton/reagent/toxin/cardox, 40)
B1.reagents.add_reagent(/singleton/reagent/potassium, 40)
B2.reagents.add_reagent(/singleton/reagent/phosphorus, 40)
B2.reagents.add_reagent(/singleton/reagent/sugar, 40)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -356,11 +356,11 @@
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/phosphorus, 40)
B1.reagents.add_reagent(/decl/reagent/potassium, 40)
B1.reagents.add_reagent(/decl/reagent/capsaicin/condensed, 40)
B2.reagents.add_reagent(/decl/reagent/sugar, 40)
B2.reagents.add_reagent(/decl/reagent/capsaicin/condensed, 80)
B1.reagents.add_reagent(/singleton/reagent/phosphorus, 40)
B1.reagents.add_reagent(/singleton/reagent/potassium, 40)
B1.reagents.add_reagent(/singleton/reagent/capsaicin/condensed, 40)
B2.reagents.add_reagent(/singleton/reagent/sugar, 40)
B2.reagents.add_reagent(/singleton/reagent/capsaicin/condensed, 80)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -379,10 +379,10 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent(/decl/reagent/surfactant, 40)
B1.reagents.add_reagent(/decl/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
B2.reagents.add_reagent(/decl/reagent/water, 40)
B2.reagents.add_reagent(/decl/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
B1.reagents.add_reagent(/singleton/reagent/surfactant, 40)
B1.reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
B2.reagents.add_reagent(/singleton/reagent/water, 40)
B2.reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -6,5 +6,5 @@
/obj/item/grenade/fake/prime()
active = 0
playsound(src.loc, get_sfx(/decl/sound_category/explosion_sound), 50, 1, 30)
playsound(src.loc, get_sfx(/singleton/sound_category/explosion_sound), 50, 1, 30)
icon_state = "frag"
@@ -17,8 +17,8 @@
can_embed = 0
var/parry_chance = 40
drop_sound = 'sound/items/drop/sword.ogg'
pickup_sound = /decl/sound_category/sword_pickup_sound
equip_sound = /decl/sound_category/sword_equip_sound
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
/obj/item/material/sword/handle_shield(mob/user, var/on_back, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
var/parry_bonus = 1
@@ -21,7 +21,7 @@
var/wielded = 0
var/force_wielded = 0
var/force_unwielded
var/wield_sound = /decl/sound_category/generic_wield_sound
var/wield_sound = /singleton/sound_category/generic_wield_sound
var/unwield_sound = null
var/base_name
var/unwielded_force_divisor = 0.25
@@ -33,8 +33,8 @@
slot_r_hand_str = 'icons/mob/items/weapons/righthand_twohanded.dmi'
)
drop_sound = 'sound/items/drop/sword.ogg'
pickup_sound = /decl/sound_category/sword_pickup_sound
equip_sound = /decl/sound_category/sword_equip_sound
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
hitsound = 'sound/weapons/bladeslice.ogg'
/obj/item/material/twohanded/proc/wield()
@@ -92,7 +92,7 @@
/obj/item/material/twohanded/handle_shield(mob/user, var/on_back, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(wielded && default_parry_check(user, attacker, damage_source) && prob(parry_chance))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
playsound(user.loc, /decl/sound_category/punchmiss_sound, 50, 1)
playsound(user.loc, /singleton/sound_category/punchmiss_sound, 50, 1)
return PROJECTILE_STOPPED
return FALSE
@@ -352,7 +352,7 @@
applies_material_colour = FALSE
default_material = "steel"
parry_chance = 5
var/fuel_type = /decl/reagent/fuel
var/fuel_type = /singleton/reagent/fuel
var/opendelay = 30 // How long it takes to perform a door opening action with this chainsaw, in seconds.
var/max_fuel = 300 // The maximum amount of fuel the chainsaw stores.
var/fuel_cost = 1 // Multiplier for fuel cost.
@@ -498,7 +498,7 @@
PowerDown(user)
else if(!wielded)
to_chat(user, SPAN_WARNING("You need to hold this with two hands to turn this on."))
else if(REAGENT_VOLUME(reagents, /decl/reagent/fuel) <= 0)
else if(REAGENT_VOLUME(reagents, /singleton/reagent/fuel) <= 0)
user.visible_message(SPAN_WARNING("[user] pulls the cord on \the [src], but nothing happens."), SPAN_WARNING("You pull the cord on \the [src], but nothing happens."), SPAN_NOTICE("You hear a cord being pulled."))
else
var/max = rand(3,6)
@@ -345,8 +345,8 @@
active_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_NORMAL
drop_sound = 'sound/items/drop/sword.ogg'
pickup_sound = /decl/sound_category/sword_pickup_sound
equip_sound = /decl/sound_category/sword_equip_sound
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
/obj/item/melee/energy/sword/powersword/activate(mob/living/user)
..()
+1 -1
View File
@@ -77,7 +77,7 @@
cleantime = 15
var/refill_enabled = TRUE //Self-refill toggle for when a janitor decides to mop with something other than water.
var/refill_rate = 0.5 //Rate per process() tick mop refills itself
var/refill_reagent = /decl/reagent/water //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
var/refill_reagent = /singleton/reagent/water //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
/obj/item/mop/advanced/New()
..()
+9 -9
View File
@@ -17,11 +17,11 @@
fragile = 0
var/paint_reagent = null //name of the reagent responsible for colouring the paint
var/paint_type = null //used for colouring detective technicolor coat and hat
reagents_to_add = list(/decl/reagent/paint = 4/5)
reagents_to_add = list(/singleton/reagent/paint = 4/5)
/obj/item/reagent_containers/glass/paint/Initialize()
reagents_to_add[paint_reagent] = 1/5
for(var/decl/reagent/R in reagents_to_add)
for(var/singleton/reagent/R in reagents_to_add)
reagents_to_add[R] *= volume
. = ..()
reagents.handle_reactions()
@@ -54,29 +54,29 @@
update_icon()
/obj/item/reagent_containers/glass/paint/red
paint_reagent = /decl/reagent/crayon_dust/red
paint_reagent = /singleton/reagent/crayon_dust/red
paint_type = "red"
/obj/item/reagent_containers/glass/paint/yellow
paint_reagent = /decl/reagent/crayon_dust/yellow
paint_reagent = /singleton/reagent/crayon_dust/yellow
paint_type = "yellow"
/obj/item/reagent_containers/glass/paint/green
paint_reagent = /decl/reagent/crayon_dust/green
paint_reagent = /singleton/reagent/crayon_dust/green
paint_type = "green"
/obj/item/reagent_containers/glass/paint/blue
paint_reagent = /decl/reagent/crayon_dust/blue
paint_reagent = /singleton/reagent/crayon_dust/blue
paint_type = "blue"
/obj/item/reagent_containers/glass/paint/purple
paint_reagent = /decl/reagent/crayon_dust/purple
paint_reagent = /singleton/reagent/crayon_dust/purple
paint_type = "purple"
/obj/item/reagent_containers/glass/paint/black
paint_reagent = /decl/reagent/carbon
paint_reagent = /singleton/reagent/carbon
paint_type = "black"
/obj/item/reagent_containers/glass/paint/white
paint_reagent = /decl/reagent/aluminum
paint_reagent = /singleton/reagent/aluminum
paint_type = "white"
+1 -1
View File
@@ -29,7 +29,7 @@
/obj/item/soap/proc/wet()
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
reagents.add_reagent(/decl/reagent/spacecleaner, capacity)
reagents.add_reagent(/singleton/reagent/spacecleaner, capacity)
/obj/item/soap/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/key))
@@ -28,14 +28,14 @@
if(!proximity)
return
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(A.reagents && A.reagents.has_reagent(/decl/reagent/water)) //blesses all the water in the holder
if(REAGENT_VOLUME(A.reagents, /decl/reagent/water) > 60)
if(A.reagents && A.reagents.has_reagent(/singleton/reagent/water)) //blesses all the water in the holder
if(REAGENT_VOLUME(A.reagents, /singleton/reagent/water) > 60)
to_chat(user, SPAN_NOTICE("There's too much water for you to bless at once!"))
else
to_chat(user, SPAN_NOTICE("You bless the water in [A], turning it into holy water."))
var/water2holy = REAGENT_VOLUME(A.reagents, /decl/reagent/water)
A.reagents.del_reagent(/decl/reagent/water)
A.reagents.add_reagent(/decl/reagent/water/holywater, water2holy)
var/water2holy = REAGENT_VOLUME(A.reagents, /singleton/reagent/water)
A.reagents.del_reagent(/singleton/reagent/water)
A.reagents.add_reagent(/singleton/reagent/water/holywater, water2holy)
/obj/item/storage/bible/attackby(obj/item/W as obj, mob/user as mob)
if(src.use_sound)
@@ -42,7 +42,7 @@
var/obj/item/melee/energy/blade/blade = W
blade.spark_system.queue()
playsound(src.loc, 'sound/weapons/blade.ogg', 50, 1)
playsound(src.loc, /decl/sound_category/spark_sound, 50, 1)
playsound(src.loc, /singleton/sound_category/spark_sound, 50, 1)
if(!locked)
..()
else
@@ -3,7 +3,7 @@
desc = "It's a small container with dice inside."
icon = 'icons/obj/dice.dmi'
icon_state = "dicebag"
use_sound = /decl/sound_category/rustle_sound
use_sound = /singleton/sound_category/rustle_sound
drop_sound = 'sound/items/drop/hat.ogg'
pickup_sound = 'sound/items/pickup/hat.ogg'
starts_with = list(
@@ -38,7 +38,7 @@
var/obj/item/melee/energy/blade/blade = W
blade.spark_system.queue()
playsound(src.loc, 'sound/weapons/blade.ogg', 50, 1)
playsound(src.loc, /decl/sound_category/spark_sound, 50, 1)
playsound(src.loc, /singleton/sound_category/spark_sound, 50, 1)
return
if (W.isscrewdriver())
@@ -40,7 +40,7 @@
var/allow_quick_empty //Set this variable to allow the object to have the 'empty' verb, which dumps all the contents on the floor.
var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile.
var/collection_mode = 1 //0 = pick one at a time, 1 = pick all on tile
var/use_sound = /decl/sound_category/rustle_sound //sound played when used. null for no sound.
var/use_sound = /singleton/sound_category/rustle_sound //sound played when used. null for no sound.
var/list/starts_with // for pre-filled items
var/empty_delay = 0 SECOND // time it takes to empty bag. this is multiplies by number of objects stored
@@ -137,7 +137,7 @@
if (..())
if (contents.len)
spill(3, get_turf(M))
playsound(M, /decl/sound_category/tray_hit_sound, 100, 1) //sound playin' again
playsound(M, /singleton/sound_category/tray_hit_sound, 100, 1) //sound playin' again
update_force()
user.visible_message(SPAN_DANGER("[user] smashes the [src] into [M], causing it to break open and strew its contents across the area"))
@@ -118,31 +118,31 @@
..()
var/obj/item/storage/box/fancy/cigarettes/pack
pack = new /obj/item/storage/box/fancy/cigarettes(src)
fill_cigarre_package(pack, list(/decl/reagent/aluminum = 5, /decl/reagent/potassium = 5, /decl/reagent/sulfur = 5))
fill_cigarre_package(pack, list(/singleton/reagent/aluminum = 5, /singleton/reagent/potassium = 5, /singleton/reagent/sulfur = 5))
pack.desc += " 'F' has been scribbled on it."
pack = new /obj/item/storage/box/fancy/cigarettes(src)
fill_cigarre_package(pack, list(/decl/reagent/aluminum = 5, /decl/reagent/potassium = 5, /decl/reagent/sulfur = 5))
fill_cigarre_package(pack, list(/singleton/reagent/aluminum = 5, /singleton/reagent/potassium = 5, /singleton/reagent/sulfur = 5))
pack.desc += " 'F' has been scribbled on it."
pack = new /obj/item/storage/box/fancy/cigarettes(src)
fill_cigarre_package(pack, list(/decl/reagent/potassium = 5, /decl/reagent/sugar = 5, /decl/reagent/phosphorus = 5))
fill_cigarre_package(pack, list(/singleton/reagent/potassium = 5, /singleton/reagent/sugar = 5, /singleton/reagent/phosphorus = 5))
pack.desc += " 'S' has been scribbled on it."
pack = new /obj/item/storage/box/fancy/cigarettes(src)
fill_cigarre_package(pack, list(/decl/reagent/potassium = 5, /decl/reagent/sugar = 5, /decl/reagent/phosphorus = 5))
fill_cigarre_package(pack, list(/singleton/reagent/potassium = 5, /singleton/reagent/sugar = 5, /singleton/reagent/phosphorus = 5))
pack.desc += " 'S' has been scribbled on it."
pack = new /obj/item/storage/box/fancy/cigarettes(src)
// Dylovene. Going with 1.5 rather than 1.6666666...
fill_cigarre_package(pack, list(/decl/reagent/potassium = 1.5, /decl/reagent/ammonia = 1.5, /decl/reagent/silicon = 1.5))
fill_cigarre_package(pack, list(/singleton/reagent/potassium = 1.5, /singleton/reagent/ammonia = 1.5, /singleton/reagent/silicon = 1.5))
// Mindbreaker
fill_cigarre_package(pack, list(/decl/reagent/silicon = 4.5, /decl/reagent/hydrazine = 4.5, /decl/reagent/dylovene = 4.5))
fill_cigarre_package(pack, list(/singleton/reagent/silicon = 4.5, /singleton/reagent/hydrazine = 4.5, /singleton/reagent/dylovene = 4.5))
pack.desc += " 'MB' has been scribbled on it."
pack = new /obj/item/storage/box/fancy/cigarettes(src)
pack.reagents.add_reagent(/decl/reagent/tricordrazine, 15 * pack.storage_slots)
pack.reagents.add_reagent(/singleton/reagent/tricordrazine, 15 * pack.storage_slots)
pack.desc += " 'T' has been scribbled on it."
new /obj/item/flame/lighter/zippo(src)
+1 -1
View File
@@ -94,7 +94,7 @@
if(bcell && bcell.charge > hitcost)
status = !status
to_chat(user, "<span class='notice'>[src] is now [status ? "on" : "off"].</span>")
playsound(loc, /decl/sound_category/spark_sound, 75, 1, -1)
playsound(loc, /singleton/sound_category/spark_sound, 75, 1, -1)
update_icon()
else
status = 0
@@ -67,7 +67,7 @@
desc = "A drill specialized for surgical use, capable of creating surgical cavities and safely breaching through Vaurcae carapace for initial incisions."
icon_state = "drill"
item_state = "drill"
hitsound = /decl/sound_category/drillhit_sound
hitsound = /singleton/sound_category/drillhit_sound
matter = list(DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GLASS = 10000)
flags = CONDUCT
force = 15
@@ -290,7 +290,7 @@
/obj/item/storage/box/fancy/tray/attack(mob/living/M as mob, mob/user as mob, var/target_zone)
if(..() && contents.len)
spill(3, get_turf(M))
playsound(M, /decl/sound_category/tray_hit_sound, 50, 1) //sound playin' again
playsound(M, /singleton/sound_category/tray_hit_sound, 50, 1) //sound playin' again
user.visible_message(SPAN_DANGER("[user] smashes \the [src] into [M], causing it to spill its contents across the area!"))
/obj/item/storage/box/fancy/tray/throw_impact(atom/hit_atom)
@@ -127,7 +127,7 @@
desc = "A janitorial cleaner tank that is worn on the back, with a nozzle to clean dirt and graffiti."
icon_state = "waterpackjani"
item_state = "waterpackjani"
reagents_to_add = list(/decl/reagent/spacecleaner = 500)
reagents_to_add = list(/singleton/reagent/spacecleaner = 500)
/obj/item/reagent_containers/spray/chemsprayer/mister/janitor
name = "janitor spray nozzle"
+9 -9
View File
@@ -295,7 +295,7 @@
var/datum/reagents/R = new/datum/reagents(max_fuel)
reagents = R
R.my_atom = src
R.add_reagent(/decl/reagent/fuel, max_fuel)
R.add_reagent(/singleton/reagent/fuel, max_fuel)
update_icon()
/obj/item/weldingtool/use_tool(atom/target, mob/living/user, delay, amount, volume, datum/callback/extra_checks)
@@ -487,7 +487,7 @@
//Returns the amount of fuel in the welder
/obj/item/weldingtool/proc/get_fuel()
return REAGENT_VOLUME(reagents, /decl/reagent/fuel)
return REAGENT_VOLUME(reagents, /singleton/reagent/fuel)
//Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob.
/obj/item/weldingtool/use(var/amount = 1, var/mob/M = null, var/colourChange = TRUE)
@@ -496,7 +496,7 @@
else if(welding > 0 && colourChange)
addtimer(CALLBACK(src, /atom/proc/update_icon), 5)
if(get_fuel() >= amount)
reagents.remove_reagent(/decl/reagent/fuel, amount)
reagents.remove_reagent(/singleton/reagent/fuel, amount)
if(M)
eyecheck(M)
return 1
@@ -507,7 +507,7 @@
/obj/item/weldingtool/use_resource(mob/user, var/use_amount)
if(get_fuel() >= use_amount)
reagents.remove_reagent(/decl/reagent/fuel, use_amount)
reagents.remove_reagent(/singleton/reagent/fuel, use_amount)
//Returns whether or not the welding tool is currently on.
/obj/item/weldingtool/proc/isOn()
@@ -554,7 +554,7 @@
damtype = BRUTE
w_class = initial(w_class)
welding = FALSE
hitsound = /decl/sound_category/swing_hit_sound
hitsound = /singleton/sound_category/swing_hit_sound
attack_verb = list("hit", "bludgeoned", "whacked")
set_processing(FALSE)
update_icon()
@@ -673,7 +673,7 @@
var/gen_amount = ((world.time-last_gen) / fuelgen_delay)
var/remainder = max_fuel - get_fuel()
gen_amount = min(gen_amount, remainder)
reagents.add_reagent(/decl/reagent/fuel, gen_amount)
reagents.add_reagent(/singleton/reagent/fuel, gen_amount)
if(get_fuel() >= max_fuel)
set_processing(0)
else
@@ -688,7 +688,7 @@
/obj/item/weldingtool/experimental/use(amount, mob/M, colourChange)
. = ..(overcap ? amount * 3 : amount, M, colourChange)
if(!. && welding && overcap) // to ensure that the fuel gets used even if the amount is high
reagents.remove_reagent(/decl/reagent/fuel, get_fuel())
reagents.remove_reagent(/singleton/reagent/fuel, get_fuel())
/obj/item/eyeshield
name = "experimental eyeshield"
@@ -730,7 +730,7 @@
w_class = ITEMSIZE_SMALL
drop_sound = 'sound/items/drop/crowbar.ogg'
pickup_sound = 'sound/items/pickup/crowbar.ogg'
usesound = /decl/sound_category/crowbar_sound
usesound = /singleton/sound_category/crowbar_sound
origin_tech = list(TECH_ENGINEERING = 1)
matter = list(DEFAULT_WALL_MATERIAL = 50)
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
@@ -1017,7 +1017,7 @@
attack_verb = list("smashed", "hammered")
drop_sound = 'sound/items/drop/crowbar.ogg'
pickup_sound = 'sound/items/pickup/crowbar.ogg'
usesound = /decl/sound_category/hammer_sound
usesound = /singleton/sound_category/hammer_sound
/obj/item/hammer/Initialize()
. = ..()
@@ -421,7 +421,7 @@
icon = 'icons/obj/vaurca_items.dmi'
icon_state = "gaussrifle"
item_state = "gaussrifle"
fire_sound = /decl/sound_category/gauss_fire_sound
fire_sound = /singleton/sound_category/gauss_fire_sound
fire_sound_text = "a subdued boom"
fire_delay = 12
slot_flags = SLOT_BACK
+2 -2
View File
@@ -125,8 +125,8 @@
hitsound = 'sound/weapons/bladeslice.ogg'
contained_sprite = TRUE
drop_sound = 'sound/items/drop/sword.ogg'
pickup_sound = /decl/sound_category/sword_pickup_sound
equip_sound = /decl/sound_category/sword_equip_sound
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
/obj/item/banhammer
desc = "banhammer"
+26 -26
View File
@@ -56,13 +56,13 @@
anchored = TRUE
req_access = list(access_bar) //Has to initalize at first, this is updated by instance's req_access
var/cult = 0
var/choice_types = /decl/sign/double/bar
var/choice_types = /singleton/sign/double/bar
/obj/structure/sign/double/barsign/kitchensign
icon = 'icons/obj/kitchensigns.dmi'
icon_state = "Off"
req_access = list(access_kitchen)
choice_types = /decl/sign/double/kitchen
choice_types = /singleton/sign/double/kitchen
/obj/structure/sign/double/barsign/attackby(obj/item/I, mob/user)
if(cult)
@@ -78,116 +78,116 @@
return ..()
/decl/sign/double
/singleton/sign/double
var/name = "Holographic Projector"
var/icon_state = "Off"
var/desc = "A holographic projector, displaying different saved themes. It is turned off right now."
var/desc_extended = "To change the displayed theme, use your bartender's or chef's ID on it and select something from the menu. There are two different selections for the bar and the kitchen."
/decl/sign/double/off // Here start the different bar signs. To add any new ones, just copy the format, make sure its in the .dmi and write away. -KingOfThePing
/singleton/sign/double/off // Here start the different bar signs. To add any new ones, just copy the format, make sure its in the .dmi and write away. -KingOfThePing
name = "Holgraphic Projector"
icon_state = "Off"
desc = "A holographic projector, displaying different saved themes. It is turned off right now."
desc_extended = "To change the displayed theme, use your bartender's or chef's ID on it and select something from the menu. There are two different selections for the bar and the kitchen."
/decl/sign/double/bar/whiskey_implant
/singleton/sign/double/bar/whiskey_implant
name = "Whiskey Implant"
icon_state = "Whiskey Implant"
desc = "A hit on modern extensive augmentations."
desc_extended = "Some people would probably argue, that an implant which injects you some whiskey in certain situations, would probably make the galaxy a better place for everyone."
/decl/sign/double/bar/the_drunk_carp
/singleton/sign/double/bar/the_drunk_carp
name = "The Drunk Carp"
icon_state = "The Drunk Carp"
desc = "A depiction of a stylized space carp drinking a beer."
desc_extended = "A depiction of 'Ivan the Space Carp' from the popular children's show of the same name. As the name suggests, Ivan has a heavy drinking problem."
/decl/sign/double/bar/the_outer_spess
/singleton/sign/double/bar/the_outer_spess
name = "The Outer Spess"
icon_state = "The Outer Spess"
desc = "A long running joke between spacemen, which never gets old."
desc_extended = "It's almost tradition to call the great unknown of the universe 'spess'. No one really knows anymore where this joke comes from nor does anyone care. It's also not important, probably."
/decl/sign/double/bar/officer_beersky
/singleton/sign/double/bar/officer_beersky
name = "Officer Beersky"
icon_state = "Officer Beersky"
desc = "To remember the hero, lost along the way, Officer Beepsky."
desc_extended = "To commemorate the great accomplishments and never ending duty of the ISD's small security robot Officer Beepsky. Gone, but not forgotten."
/decl/sign/double/bar/ishimura
/singleton/sign/double/bar/ishimura
name = "Ishimura"
icon_state = "Ishimura"
desc = "Named after a famous solarian physicist."
desc_extended = "Hideki Ishimura was a famous solarian astrophysicist, responsible for some great scientific achievements from a time long gone."
/decl/sign/double/bar/foreign
/singleton/sign/double/bar/foreign
name = "Foreign"
icon_state = "Foreign"
desc = "A sign, designed in a classic estern-asian design, originating from Earth."
desc_extended = "Earth's eastern asian culture brought forward a greatly varied and loved style of cuisine, still eaten today. This sign looks like one of the many signs that come to mind, when thinking about this."
/decl/sign/double/bar/hearts_of_plasteel
/singleton/sign/double/bar/hearts_of_plasteel
name = "Hearts of Plasteel"
icon_state = "Hearts of Plasteel"
desc = "The sign of a diner from a famous TV show."
desc_extended = "This sign is a replication of the diner sign, which the military-comedy show 'Hearts of Plasteel' revolves around. Loved by fans universe-wide."
/decl/sign/double/bar/the_lightbulb
/singleton/sign/double/bar/the_lightbulb
name = "The Lightbulb"
icon_state = "The Lightbulb"
desc = "The Lightbulb, a famous scene-bar and club in Mendell City."
desc_extended = "The Lightbulb is one of the top hidden gems in Mendell City, if you want to party. Known for it's expansive dance floors and planet-wide renowned bartenders, the Lightbulb is a once in a lifetime experience."
/decl/sign/double/bar/chem_lab
/singleton/sign/double/bar/chem_lab
name = "Chem Lab"
icon_state = "Chem Lab"
desc = "Chem Labs are the unofficial name given to some eridanian bars."
desc_extended = "Underground, hidden or less known bars in Eridani, where almost exclusively Dregs or other 'Unwanted' frequent are unofficially called Chem Labs, not only due to the dubious origin of the alcohol served there."
/decl/sign/double/bar/meow_mix
/singleton/sign/double/bar/meow_mix
name = "Meow Mix"
icon_state = "Meow Mix"
desc = "A sign with a selection of some of the SCC's much beloved pets."
desc_extended = "Two cats, named Bones and Nickel are depicted on this sign. They are much beloved mascotts, raising morale and work efficiency whereever they are."
/decl/sign/double/bar/the_hive
/singleton/sign/double/bar/the_hive
name = "The Hive"
icon_state = "The Hive"
desc = "A wildly known, high class eridanian cocktail bar chain."
desc_extended = "The Hive, known for its expensive and extravagant drinks, this bar chain is known as the place to be with your suit friends, when visiting Eridani I."
/decl/sign/double/bar/mead_bay
/singleton/sign/double/bar/mead_bay
name = "Mead Bay"
icon_state = "Mead Bay"
desc = "The Mead Bay is the alternative for visiting an actual Medbay."
desc_extended = "Another long running joke among spacefarers. A bandage from the Medbay may mend your body, but a good drink from the Mead Bay together with your colleagues really mends your soul."
/decl/sign/double/bar/toolbox_tavern
/singleton/sign/double/bar/toolbox_tavern
name = "Toolbox Tavern"
icon_state = "Toolbox Tavern"
desc = "A popular bar at an Hepheastus Industries shipyard."
desc_extended = "The name of the after-hours bar, located at the Hepheastus Industries shipyard the Horizon was built. To remember the great lengths and sacrifices that were made to bring this vessel to life."
/decl/sign/double/bar/maltese_falcon
/singleton/sign/double/bar/maltese_falcon
name = "Maltese Falcon"
icon_state = "Maltese Falcon"
desc = "A recreation of the famous Maltese Falcon bar sign."
desc_extended = "An exact replica of the sign, which is hanging over the entrance of the famous Maltese Falcon Bar & Grill. A safe heaven for every pilot, captain or crewman of any vessel, looking to take a break."
/decl/sign/double/bar/old_cock_inn
/singleton/sign/double/bar/old_cock_inn
name = "Old Cock Inn"
icon_state = "Old Cock Inn"
desc = "The sign of a formerly well-known discotheque."
desc_extended = "The Old Cock Inn was a discotheque, from times long gone. Formerly known as 'Old Richard's Inn' no one can remember much about it, but the name has persisted over the decades."
/decl/sign/double/bar/commie
/singleton/sign/double/bar/commie
name = "People's Preferred"
icon_state = "Commie"
desc = "The name of a bar, located at Pluto's biggest spaceport."
desc_extended = "People's Preferred is the name of the drinking hole at Pluto's biggest spaceport. Everyone stops there and everyone loves it there. It's what the people prefer, apparently."
/decl/sign/double/kitchen/event_horizon // Start of the kitchen signs. Don't mix it up.
/singleton/sign/double/kitchen/event_horizon // Start of the kitchen signs. Don't mix it up.
name = "Event Horizon"
icon_state = "Event Horizon"
desc = "The SCCV Horizon's kitchen franchise sign."
desc_extended = "The SCCV Horizon's dining area was the testing ground for the SCC to experiment with food franchising. The goal was to provide better food perparing processes, food quality and, of course, to maybe capitalize on this. To remember where it all started, the name 'Event Horizon' was chosen."
/decl/sign/double/kitchen/paradise_sands
/singleton/sign/double/kitchen/paradise_sands
name = "Paradise Sands"
icon_state = "Paradise Sands"
desc = "A take on the sign of one of Silversun's most popular cafe and bistro owned by Idris Incorporated."
desc_extended = "Paradise Sands is the name of one of the most popular cafe- and bistro places on all of Silversun. Located in a secluded cove, you can brunch, drink, and swim at a beach with white sand and a deep, azure ocean; a paradise."
/decl/sign/double/kitchen/city_alive
/singleton/sign/double/kitchen/city_alive
name = "City Alive"
icon_state = "City Alive"
desc = "City Alive is another popular restaurant chain, originating from Eridani I. It is famous for its light shows."
desc_extended = "City Alive is a high class restaurant chain, dotted all over Eridani I and III. Especially on Eridani I they are also famous for their light shows in the evenings. These lights look like pulsating veins, making the city seem alive, especially when observed from orbit."
/obj/structure/sign/double/barsign/proc/get_sign_choices()
var/list/sign_choices = decls_repository.get_decls_of_subtype(choice_types)
var/list/sign_choices = GET_SINGLETON_SUBTYPE_MAP(choice_types)
return sign_choices
/obj/structure/sign/double/barsign/proc/set_sign()
@@ -195,13 +195,13 @@
var/list/sign_index = list()
for(var/sign in sign_choices)
var/decl/sign/double/B = decls_repository.get_decl(sign)
var/singleton/sign/double/B = GET_SINGLETON(sign)
sign_index["[B.name]"] = B
var/sign_choice = input("What should the sign be changed to?") as null|anything in sign_index
if(!sign_choice)
return
var/decl/sign/double/signselect = sign_index[sign_choice]
var/singleton/sign/double/signselect = sign_index[sign_choice]
name = signselect.name
desc = signselect.desc
+2 -2
View File
@@ -117,7 +117,7 @@ LINEN BINS
if (do_after(user, 25, src))
if(user.loc != loc)
user.do_attack_animation(src)
playsound(get_turf(loc), /decl/sound_category/rustle_sound, 15, 1, -5)
playsound(get_turf(loc), /singleton/sound_category/rustle_sound, 15, 1, -5)
var/folds = fold
user.visible_message(SPAN_NOTICE("\The [user] [folds ? "unfolds" : "folds"] \the [src]."),
SPAN_NOTICE("You [fold ? "unfold" : "fold"] \the [src]."))
@@ -151,7 +151,7 @@ LINEN BINS
if (do_after(user, 6, src))
if(user.loc != loc)
user.do_attack_animation(src)
playsound(get_turf(loc), /decl/sound_category/rustle_sound, 15, 1, -5)
playsound(get_turf(loc), /singleton/sound_category/rustle_sound, 15, 1, -5)
var/rolls = roll
user.visible_message(SPAN_NOTICE("\The [user] [rolls ? "unrolls" : "rolls"] \the [src]."),
SPAN_NOTICE("You [roll ? "unroll" : "roll"] \the [src]."))
@@ -70,7 +70,7 @@
if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [blade]!", "You hear metal being sliced and sparks flying."))
blade.spark_system.queue()
playsound(loc, 'sound/weapons/blade.ogg', 50, 1)
playsound(loc, /decl/sound_category/spark_sound, 50, 1)
playsound(loc, /singleton/sound_category/spark_sound, 50, 1)
else
to_chat(user, "<span class='warning'>Access Denied</span>")
return
@@ -62,7 +62,7 @@
desc += " It appears to be broken."
add_overlay("[icon_door_overlay]sparking")
CUT_OVERLAY_IN("[icon_door_overlay]sparking", 6)
playsound(loc, /decl/sound_category/spark_sound, 60, 1)
playsound(loc, /singleton/sound_category/spark_sound, 60, 1)
broken = TRUE
locked = FALSE
update_icon()
+3 -3
View File
@@ -6,7 +6,7 @@
anchored = TRUE
density = FALSE
layer = ABOVE_CABLE_LAYER
var/decl/reagent/reagent_id
var/singleton/reagent/reagent_id
var/state = 0
var/health = 100
var/mine_rate = 1 // how fast you can mine it
@@ -16,7 +16,7 @@
/obj/structure/reagent_crystal/Initialize(mapload, var/reagent_i = null, var/our_creator = null)
. = ..()
if(!reagent_i)
var/list/chems = list(/decl/reagent/acetone, /decl/reagent/aluminum, /decl/reagent/ammonia, /decl/reagent/carbon, /decl/reagent/copper, /decl/reagent/iron, /decl/reagent/lithium, /decl/reagent/mercury, /decl/reagent/potassium, /decl/reagent/radium, /decl/reagent/sodium)
var/list/chems = list(/singleton/reagent/acetone, /singleton/reagent/aluminum, /singleton/reagent/ammonia, /singleton/reagent/carbon, /singleton/reagent/copper, /singleton/reagent/iron, /singleton/reagent/lithium, /singleton/reagent/mercury, /singleton/reagent/potassium, /singleton/reagent/radium, /singleton/reagent/sodium)
reagent_i = pick(chems)
reagent_id = reagent_i
name = replacetext(name, "chemical", lowertext(initial(reagent_id.name)))
@@ -160,7 +160,7 @@
. = ..()
create_reagents(max(5, amount))
reagents.add_reagent(reagent_i, amount)
var/decl/reagent/R = decls_repository.get_decl(reagent_i)
var/singleton/reagent/R = GET_SINGLETON(reagent_i)
name = "[lowertext(R.name)] crystal"
desc = "A [lowertext(R.name)] crystal. It looks rough, unprocessed."
desc_info = "This crystal can be ground to obtain the chemical material locked within."
+1 -1
View File
@@ -50,7 +50,7 @@
density = FALSE
destroyed = TRUE
new /obj/item/material/shard(loc)
playsound(src, /decl/sound_category/glass_break_sound, 70, 1)
playsound(src, /singleton/sound_category/glass_break_sound, 70, 1)
update_icon()
/obj/structure/displaycase/update_icon()
@@ -333,7 +333,7 @@
to_chat(user, SPAN_WARNING("You cannot make an airlock out of [S]."))
return
if(S.get_amount() >= 2)
playsound(src.loc, /decl/sound_category/crowbar_sound, 100, 1)
playsound(src.loc, /singleton/sound_category/crowbar_sound, 100, 1)
user.visible_message("<b>[user]</b> starts installing [S] into the airlock assembly.", "You start installing [S] into the airlock assembly.")
if(W.use_tool(src, user, 40, volume = 50) && !glass)
if (S.use(2))
@@ -25,7 +25,7 @@
shattered = TRUE
unlocked = TRUE
open = TRUE
playsound(user, /decl/sound_category/glass_break_sound, 100, 1)
playsound(user, /singleton/sound_category/glass_break_sound, 100, 1)
update_icon()
/obj/structure/fireaxecabinet/update_icon()
+1 -1
View File
@@ -65,7 +65,7 @@
myreplacer = new /obj/item/device/lightreplacer(src)
mybucket = new /obj/structure/mopbucket(src)
mybucket.reagents.add_reagent(/decl/reagent/water, mybucket.bucketsize)
mybucket.reagents.add_reagent(/singleton/reagent/water, mybucket.bucketsize)
for(signs, signs < 4, signs++)
new /obj/item/clothing/suit/caution(src)
+1 -1
View File
@@ -21,7 +21,7 @@
/obj/structure/grille,
/turf/unsimulated/mineral/asteroid
)
footstep_sound = /decl/sound_category/catwalk_footstep
footstep_sound = /singleton/sound_category/catwalk_footstep
/obj/structure/lattice/Initialize()
. = ..()
+1 -1
View File
@@ -47,7 +47,7 @@
if(shattered) return
shattered = 1
icon_state = "mirror_broke"
playsound(src, /decl/sound_category/glass_break_sound, 70, 1)
playsound(src, /singleton/sound_category/glass_break_sound, 70, 1)
desc = "Oh no, seven years of bad luck!"
var/obj/effect/reflection/reflection = ref.resolve()
+6 -6
View File
@@ -233,7 +233,7 @@
var/obj/effect/effect/water/W = new(O)
W.create_reagents(spray_amount)
W.reagents.add_reagent(/decl/reagent/water, spray_amount)
W.reagents.add_reagent(/singleton/reagent/water, spray_amount)
W.set_up(O, spray_amount)
if(iscarbon(O))
@@ -368,7 +368,7 @@
return
is_washing = 1
var/turf/T = get_turf(src)
reagents.add_reagent(/decl/reagent/water, 2)
reagents.add_reagent(/singleton/reagent/water, 2)
T.clean(src)
spawn(100)
is_washing = 0
@@ -474,7 +474,7 @@
to_chat(usr, SPAN_WARNING("\The [RG] is already full."))
return
RG.reagents.add_reagent(/decl/reagent/water, min(RG.volume - RG.reagents.total_volume, amount_per_transfer_from_this))
RG.reagents.add_reagent(/singleton/reagent/water, min(RG.volume - RG.reagents.total_volume, amount_per_transfer_from_this))
user.visible_message("<b>[user]</b> fills \a [RG] using \the [src].",
SPAN_NOTICE("You fill \a [RG] using \the [src]."))
playsound(loc, 'sound/effects/sink.ogg', 75, 1)
@@ -486,7 +486,7 @@
var/empty_amount = RG.reagents.trans_to(src, RG.amount_per_transfer_from_this)
var/max_reagents = RG.reagents.maximum_volume
user.visible_message("<b>[user]</b> empties [empty_amount == max_reagents ? "all of \the [RG]" : "some of \the [RG]"] into \a [src].")
playsound(src.loc, /decl/sound_category/generic_pour_sound, 10, 1)
playsound(src.loc, /singleton/sound_category/generic_pour_sound, 10, 1)
return
// Filling/empying Syringes
@@ -499,7 +499,7 @@
return
var/trans = min(S.volume - S.reagents.total_volume, S.amount_per_transfer_from_this)
S.reagents.add_reagent(/decl/reagent/water, trans)
S.reagents.add_reagent(/singleton/reagent/water, trans)
user.visible_message(SPAN_NOTICE("[usr] uses \the [S] to draw water from \the [src]."),
SPAN_NOTICE("You draw [trans] units of water from \the [src]. \The [S] now contains [S.reagents.total_volume] units."))
if(1) // inject
@@ -532,7 +532,7 @@
else if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
return
else if(istype(O, /obj/item/mop))
O.reagents.add_reagent(/decl/reagent/water, 5)
O.reagents.add_reagent(/singleton/reagent/water, 5)
to_chat(user, SPAN_NOTICE("You wet \the [O] in \the [src]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return
+9 -9
View File
@@ -71,15 +71,15 @@
if(health < maxhealth / 4 && initialhealth >= maxhealth / 4)
if(message)
visible_message(SPAN_DANGER("[src] looks like it's about to shatter!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2)
if(message)
visible_message(SPAN_WARNING("[src] looks seriously damaged!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4)
if(message)
visible_message(SPAN_WARNING("Cracks begin to appear in [src]!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
return
/obj/structure/window/proc/apply_silicate(var/amount)
@@ -100,7 +100,7 @@
add_overlay(img)
/obj/structure/window/proc/shatter(var/display_message = 1)
playsound(src, /decl/sound_category/glass_break_sound, 70, 1)
playsound(src, /singleton/sound_category/glass_break_sound, 70, 1)
if(display_message)
visible_message(SPAN_WARNING("\The [src] shatters!"))
if(dir == SOUTHWEST)
@@ -177,7 +177,7 @@
if(ismob(AM))
if(isliving(AM))
var/mob/living/M = AM
M.turf_collision(src, speed, /decl/sound_category/glasscrack_sound)
M.turf_collision(src, speed, /singleton/sound_category/glasscrack_sound)
return
else
visible_message(SPAN_DANGER("\The [src] was hit by \the [AM]."))
@@ -702,7 +702,7 @@
return
/obj/structure/window/full/shatter(var/display_message = 1)
playsound(src, /decl/sound_category/glass_break_sound, 70, 1)
playsound(src, /singleton/sound_category/glass_break_sound, 70, 1)
if(display_message)
visible_message(SPAN_WARNING("\The [src] shatters!"))
if(reinf)
@@ -728,13 +728,13 @@
playsound(loc, 'sound/effects/glass_hit.ogg', 100, 1)
if(health < maxhealth / 4 && initialhealth >= maxhealth / 4)
visible_message(SPAN_DANGER("[src] looks like it's about to shatter!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2)
visible_message(SPAN_WARNING("[src] looks seriously damaged!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4)
visible_message(SPAN_WARNING("Cracks begin to appear in [src]!"))
playsound(loc, /decl/sound_category/glasscrack_sound, 100, 1)
playsound(loc, /singleton/sound_category/glasscrack_sound, 100, 1)
return
/obj/structure/window/full/dismantle_window()