diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 8f5719b8e82..196f8d4a74c 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -103,7 +103,7 @@
build_delay = 50
build_type = "airlock"
build_other = /obj/machinery/door/airlock
- else if(!deconstruct && (istype(T,/turf/space) || istype(T,get_base_turf_by_area(T))))
+ else if(!deconstruct && isturf(T) && (istype(T,/turf/space) || istype(T,get_base_turf_by_area(T))))
build_cost = 1
build_type = "floor"
build_turf = /turf/simulated/floor/airless
diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm
index 7bc0398b729..3f861b86d4b 100644
--- a/code/game/objects/items/weapons/candle.dm
+++ b/code/game/objects/items/weapons/candle.dm
@@ -8,7 +8,7 @@
var/wax = 2000
/obj/item/weapon/flame/candle/New()
- wax = rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average.
+ wax -= rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average.
..()
/obj/item/weapon/flame/candle/update_icon()
@@ -26,7 +26,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
- light("\The [user] casually lights the [name] with [W].")
+ light("\The [user] casually lights the [src] with [W].")
else if(istype(W, /obj/item/weapon/flame/lighter))
var/obj/item/weapon/flame/lighter/L = W
if(L.lit)
@@ -41,16 +41,13 @@
light()
-/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\The [usr] lights the [name].")
- if(!src.lit)
- src.lit = 1
- //src.damtype = "fire"
- for(var/mob/O in viewers(usr, null))
- O.show_message(flavor_text, 1)
+/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\The [usr] lights the [src].")
+ if(!lit)
+ lit = TRUE
+ visible_message(flavor_text)
set_light(CANDLE_LUM)
processing_objects.Add(src)
-
/obj/item/weapon/flame/candle/process()
if(!lit)
return
@@ -88,23 +85,13 @@
/obj/item/weapon/flame/candle/everburn
wax = 99999
-/obj/item/weapon/flame/candle/everburn/New()
- if(!src.lit)
- src.lit = 1
- //src.damtype = "fire"
- for(var/mob/O in viewers(usr, null))
- O.show_message("\The [name] mysteriously lights itself!.", 1)
- set_light(CANDLE_LUM)
- processing_objects.Add(src)
+/obj/item/weapon/flame/candle/everburn/initialize()
+ . = ..()
+ light("\The [src] mysteriously lights itself!.")
/obj/item/weapon/flame/candle/candelabra/everburn
wax = 99999
-/obj/item/weapon/flame/candle/candelabra/everburn/New()
- if(!src.lit)
- src.lit = 1
- //src.damtype = "fire"
- for(var/mob/O in viewers(usr, null))
- O.show_message("\The [name] mysteriously lights itself!.", 1)
- set_light(CANDLE_LUM)
- processing_objects.Add(src)
+/obj/item/weapon/flame/candle/candelabra/everburn/initialize()
+ . = ..()
+ light("\The [src] mysteriously lights itself!.")
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 251e5483e19..07457c934d3 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -307,6 +307,7 @@
/obj/item/weapon/storage/fancy/heartbox
icon_state = "heartbox"
name = "box of chocolates"
+ icon_type = "chocolates"
var/startswith = 6
max_storage_space = ITEMSIZE_COST_SMALL * 6
can_hold = list(