mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 17:41:56 +00:00
Doubled the burntime for candles. I did test these, but knowing my luck, something else broke. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2235 316c924e-a436-60f5-8080-3fe189b3f50e
122 lines
2.6 KiB
Plaintext
122 lines
2.6 KiB
Plaintext
#define CANDLE_LUM 3
|
|
|
|
/obj/item/candle
|
|
name = "red candle"
|
|
desc = "a candle"
|
|
icon = 'candle.dmi'
|
|
icon_state = "candle1"
|
|
item_state = "candle1"
|
|
|
|
var
|
|
wax = 200
|
|
lit = 0
|
|
proc
|
|
light(var/flavor_text = "\red [usr] lights the [name].")
|
|
|
|
|
|
update_icon()
|
|
var/i
|
|
if(wax>150)
|
|
i = 1
|
|
else if(wax>80)
|
|
i = 2
|
|
else i = 3
|
|
icon_state = "candle[i][lit ? "_lit" : ""]"
|
|
|
|
|
|
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
..()
|
|
if(istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
|
light("\red [user] casually lights the [name] with [W], what a badass.")
|
|
else if(istype(W, /obj/item/weapon/zippo) && W:lit)
|
|
light()
|
|
else if(istype(W, /obj/item/weapon/match) && W:lit)
|
|
light()
|
|
else if(istype(W, /obj/item/candle) && W:lit)
|
|
light()
|
|
|
|
|
|
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)
|
|
sd_SetLuminosity(CANDLE_LUM)
|
|
processing_objects.Add(src)
|
|
|
|
|
|
process()
|
|
if(!lit)
|
|
return
|
|
wax--
|
|
if(!wax)
|
|
new/obj/item/trash/candle(src.loc)
|
|
if(istype(src.loc, /mob))
|
|
src.dropped()
|
|
del(src)
|
|
update_icon()
|
|
if(istype(loc, /turf)) //start a fire if possible
|
|
var/turf/T = loc
|
|
T.hotspot_expose(700, 5)
|
|
|
|
|
|
attack_self(mob/user as mob)
|
|
if(lit)
|
|
lit = 0
|
|
update_icon()
|
|
sd_SetLuminosity(0)
|
|
user.total_luminosity -= CANDLE_LUM
|
|
|
|
|
|
pickup(mob/user)
|
|
if(lit)
|
|
src.sd_SetLuminosity(0)
|
|
user.total_luminosity += CANDLE_LUM
|
|
|
|
|
|
dropped(mob/user)
|
|
if(lit)
|
|
user.total_luminosity -= CANDLE_LUM
|
|
src.sd_SetLuminosity(CANDLE_LUM)
|
|
|
|
|
|
|
|
///////////////
|
|
//CANDLE PACK//
|
|
///////////////
|
|
/obj/item/weapon/candlepack
|
|
name = "Candle pack"
|
|
//desc = "The most popular brand of Space Cigarettes, sponsors of the Space Olympics."
|
|
icon = 'candle.dmi'
|
|
icon_state = "pack5"
|
|
item_state = "pack5"
|
|
w_class = 1
|
|
throwforce = 2
|
|
var/candlecount = 5
|
|
flags = ONBELT | TABLEPASS
|
|
|
|
|
|
/obj/item/weapon/candlepack/update_icon()
|
|
src.icon_state = text("pack[]", src.candlecount)
|
|
src.desc = text("There are [] candles left!", src.candlecount)
|
|
return
|
|
|
|
/obj/item/weapon/candlepack/attack_hand(mob/user as mob)
|
|
if(user.r_hand == src || user.l_hand == src)
|
|
if(src.candlecount == 0)
|
|
//user << "\red You're out of cigs, shit! How you gonna get through the rest of the day..."
|
|
return
|
|
else
|
|
src.candlecount--
|
|
var/obj/item/candle/W = new /obj/item/candle(user)
|
|
if(user.hand)
|
|
user.l_hand = W
|
|
else
|
|
user.r_hand = W
|
|
W.layer = 20
|
|
else
|
|
return ..()
|
|
src.update_icon()
|
|
return
|