mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-06 15:32:25 +00:00
Lamps (old-looking ones), flares now have different color from usual flashlight. Lit cigs give 0.25 power light - just enough to stand out in full darkness. Candles are colored too. Different colors for different camera consoles instead of SUPER RED for everyone.
74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
/obj/item/weapon/flame/candle
|
|
name = "red candle"
|
|
desc = "a small pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments."
|
|
icon = 'icons/obj/candle.dmi'
|
|
icon_state = "candle1"
|
|
item_state = "candle1"
|
|
w_class = 1
|
|
light_color = "#E09D37"
|
|
var/wax = 2000
|
|
|
|
/obj/item/weapon/flame/candle/New()
|
|
wax = rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average.
|
|
..()
|
|
|
|
/obj/item/weapon/flame/candle/update_icon()
|
|
var/i
|
|
if(wax > 1500)
|
|
i = 1
|
|
else if(wax > 800)
|
|
i = 2
|
|
else i = 3
|
|
icon_state = "candle[i][lit ? "_lit" : ""]"
|
|
|
|
|
|
/obj/item/weapon/flame/candle/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
..()
|
|
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("\red [user] casually lights the [name] with [W].")
|
|
else if(istype(W, /obj/item/weapon/flame/lighter))
|
|
var/obj/item/weapon/flame/lighter/L = W
|
|
if(L.lit)
|
|
light()
|
|
else if(istype(W, /obj/item/weapon/flame/match))
|
|
var/obj/item/weapon/flame/match/M = W
|
|
if(M.lit)
|
|
light()
|
|
else if(istype(W, /obj/item/weapon/flame/candle))
|
|
var/obj/item/weapon/flame/candle/C = W
|
|
if(C.lit)
|
|
light()
|
|
|
|
|
|
/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\red [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)
|
|
set_light(CANDLE_LUM)
|
|
processing_objects.Add(src)
|
|
|
|
|
|
/obj/item/weapon/flame/candle/process()
|
|
if(!lit)
|
|
return
|
|
wax--
|
|
if(!wax)
|
|
new/obj/item/trash/candle(src.loc)
|
|
if(istype(src.loc, /mob))
|
|
src.dropped()
|
|
qdel(src)
|
|
update_icon()
|
|
if(istype(loc, /turf)) //start a fire if possible
|
|
var/turf/T = loc
|
|
T.hotspot_expose(700, 5)
|
|
|
|
/obj/item/weapon/flame/candle/attack_self(mob/user as mob)
|
|
if(lit)
|
|
lit = 0
|
|
update_icon()
|
|
set_light(0)
|