diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fb2b874454d..2ce6abca4a9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -567,11 +567,24 @@ obj/item/proc/item_action_slot_check(slot, mob/user) else . = pick('sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg') -/obj/item/proc/open_flame() +/obj/item/proc/open_flame(flame_heat=700) var/turf/location = loc if(ismob(location)) var/mob/M = location - if(M.l_hand == src || M.r_hand == src) + var/success = FALSE + if(src == M.get_item_by_slot(slot_l_hand)) + success = TRUE + else if(src == M.get_item_by_slot(slot_r_hand)) + success = TRUE + else if(src == M.get_item_by_slot(slot_wear_mask)) + success = TRUE + if(success) location = get_turf(M) if(isturf(location)) - location.hotspot_expose(700, 5) + location.hotspot_expose(flame_heat, 5) + +/obj/item/proc/ignition_effect(atom/A, mob/user) + if(is_hot()) + . = "[user] lights [A] with [src]." + else + . = "" diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index f6605a6fef0..c5ae2345881 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -31,39 +31,20 @@ /obj/item/candle/attackby(obj/item/weapon/W, mob/user, params) ..() - 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("[user] casually lights the [name] with [W], what a badass.") - else if(istype(W, /obj/item/weapon/lighter)) - var/obj/item/weapon/lighter/L = W - if(L.lit) - light() - else if(istype(W, /obj/item/weapon/match)) - var/obj/item/weapon/match/M = W - if(M.lit) - light() - else if(istype(W, /obj/item/candle)) - var/obj/item/candle/C = W - if(C.lit) - light() - else if(istype(W, /obj/item/clothing/mask/cigarette)) - var/obj/item/clothing/mask/cigarette/M = W - if(M.lit) - light() + var/msg = W.ignition_effect(src, user) + if(msg) + light(msg) /obj/item/candle/fire_act() if(!src.lit) light() //honk - return /obj/item/candle/proc/light(show_message) if(!src.lit) src.lit = TRUE //src.damtype = "fire" if(show_message) - usr.visible_message( - "[usr] lights the [name].") + usr.visible_message(show_message) SetLuminosity(CANDLE_LUMINOSITY) START_PROCESSING(SSobj, src) update_icon() diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 621d8df12fb..4aaebba55c0 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/cardboard_cutout.dmi' icon_state = "cutout_basic" w_class = 4 + burn_state = FLAMMABLE var/list/possible_appearances = list("Assistant", "Clown", "Mime", "Traitor", "Nuke Op", "Cultist", "Clockwork Cultist", "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer", \ "Ash Walker", "Deathsquad Officer", "Ian") //Possible restyles for the cutout; add an entry in change_appearance() if you add to here var/pushed_over = FALSE //If the cutout is pushed over and has to be righted diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index dd03f04863f..2cbe518d65d 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -199,9 +199,7 @@ obj/item/device/flashlight/lamp/bananalamp ..() /obj/item/device/flashlight/flare/process() - var/turf/pos = get_turf(src) - if(pos) - pos.hotspot_expose(produce_heat, 5) + open_flame(heat) fuel = max(fuel - 1, 0) if(!fuel || !on) turn_off() @@ -209,6 +207,13 @@ obj/item/device/flashlight/lamp/bananalamp icon_state = "[initial(icon_state)]-empty" STOP_PROCESSING(SSobj, src) +/obj/item/device/flashlight/flare/ignition_effect(atom/A, mob/user) + if(fuel && on) + . = "[user] lights [A] with [src] like a real \ + badass." + else + . = "" + /obj/item/device/flashlight/flare/proc/turn_off() on = 0 force = initial(src.force) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index cce7af5ab06..c7de7be5915 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -27,14 +27,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM heat = 1000 /obj/item/weapon/match/process() - var/turf/location = get_turf(src) smoketime-- if(smoketime < 1) matchburnout() - return - if(location) - location.hotspot_expose(700, 5) - return + else + open_flame(heat) /obj/item/weapon/match/fire_act() matchignite() @@ -134,8 +131,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() /obj/item/clothing/mask/cigarette/attackby(obj/item/weapon/W, mob/user, params) - if(!lit && smoketime > 0 && W.is_hot()) - var/lighting_text = is_lighter(W,user) + if(!lit && smoketime > 0) + var/lighting_text = W.ignition_effect(src, user) if(lighting_text) light(lighting_text) else @@ -154,29 +151,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM else user << "[src] is full." -/obj/item/clothing/mask/cigarette/proc/is_lighter(obj/item/O, mob/user) - var/lighting_text = null - if(istype(O, /obj/item/weapon/weldingtool)) - lighting_text = "[user] casually lights the [name] with [O], what a badass." - else if(istype(O, /obj/item/weapon/lighter/greyscale)) // we have to check for this first -- zippo lighters are default - lighting_text = "After some fiddling, [user] manages to light their [name] with [O]." - else if(istype(O, /obj/item/weapon/lighter)) - lighting_text = "With a single flick of their wrist, [user] smoothly lights their [name] with [O]. Damn they're cool." - else if(istype(O, /obj/item/weapon/melee/energy)) - var/in_mouth = "" - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(C.wear_mask == src) - in_mouth = ", barely missing their nose" - lighting_text = "[user] swings their \ - [O][in_mouth]. They light their [name] in the process." - else if(istype(O, /obj/item/device/assembly/igniter)) - lighting_text = "[user] fiddles with [O], and manages to light their [name]." - else if(istype(O, /obj/item/device/flashlight/flare)) - lighting_text = "[user] lights their [name] with [O] like a real badass." - else if(O.is_hot()) - lighting_text = "[user] lights their [name] with [O]." - return lighting_text /obj/item/clothing/mask/cigarette/proc/light(flavor_text = null) if(lit) @@ -407,7 +381,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM open_flame() if(reagents && reagents.total_volume) // check if it has any reagents at all handle_reagents() - return /obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/O, mob/user, params) @@ -427,7 +400,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM else user << "It is already packed!" else - var/lighting_text = is_lighter(O,user) + var/lighting_text = O.ignition_effect(src,user) if(lighting_text) if(smoketime > 0) light(lighting_text) @@ -489,6 +462,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM I.color = color2hex(randomColor(1)) add_overlay(I) +/obj/item/weapon/lighter/greyscale/ignition_effect(atom/A, mob/user) + . = "After some fiddling, [user] manages to \ + light [A] with [src]." + +/obj/item/weapon/lighter/ignition_effect(atom/A, mob/user) + . = "With a single flick of their wrist, [user] \ + smoothly lights [A] with [src]. Damn they're cool." + /obj/item/weapon/lighter/update_icon() icon_state = lit ? "[icon_state]_on" : "[initial(icon_state)]" @@ -548,18 +529,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM ..() /obj/item/weapon/lighter/process() - var/turf/location = get_turf(src) - if(location) - location.hotspot_expose(700, 5) - return + open_flame() /obj/item/weapon/lighter/pickup(mob/user) ..() if(lit) SetLuminosity(0) user.AddLuminosity(1) - return - /obj/item/weapon/lighter/dropped(mob/user) ..() @@ -567,7 +543,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(user) user.AddLuminosity(-1) SetLuminosity(1) - return /obj/item/weapon/lighter/is_hot() return lit * heat diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index c3512dfc983..fc5ffa9c2b9 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -177,4 +177,3 @@ theturf.MakeSlippery(min_wet_time = 10, wet_time_to_add = 5) user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] using its release valve.") - return diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 15c710b40de..0cc98cd62a3 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -63,6 +63,16 @@ if(item_color == null) item_color = pick("red", "blue", "green", "purple") +/obj/item/weapon/melee/energy/sword/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/weapon/melee/energy/sword/process() + if(active) + open_flame() + else + STOP_PROCESSING(SSobj, src) + /obj/item/weapon/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) if(active) return ..() @@ -87,6 +97,7 @@ w_class = w_class_on playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness user << "[src] is now active." + START_PROCESSING(SSobj, src) else force = initial(force) throwforce = initial(throwforce) @@ -98,11 +109,26 @@ w_class = initial(w_class) playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness user << "[src] can now be concealed." + STOP_PROCESSING(SSobj, src) add_fingerprint(user) /obj/item/weapon/melee/energy/is_hot() return active * heat +/obj/item/weapon/melee/energy/ignition_effect(atom/A, mob/user) + if(!active) + return "" + + var/in_mouth = "" + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.wear_mask == src) + in_mouth = ", barely missing their nose" + . = "[user] swings their \ + [src][in_mouth]. They light [A] in the process." + playsound(loc, hitsound, get_clamped_volume(), 1, -1) + add_fingerprint(user) + /obj/item/weapon/melee/energy/sword/cyborg var/hitcost = 50 diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index e831ed3fd98..3d5d9cf99e9 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -342,11 +342,11 @@ check_fuel() if(M) M.flash_eyes(light_intensity) - return 1 + return TRUE else if(M) M << "You need more welding fuel to complete this task!" - return 0 + return FALSE //Returns whether or not the welding tool is currently on. @@ -424,7 +424,13 @@ user.put_in_hands(F) else user << "You need one rod to start building a flamethrower!" - return + +/obj/item/weapon/weldingtool/ignition_effect(atom/A, mob/user) + if(welding && remove_fuel(1, user)) + . = "[user] casually lights [A] with [src], \ + what a badass." + else + . = "" /obj/item/weapon/weldingtool/largetank name = "industrial welding tool" diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 7d8fcc93fb5..d1be98828ea 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -211,15 +211,19 @@ var/hacked = 0 /obj/item/weapon/twohanded/dualsaber/New() + ..() item_color = pick("red", "blue", "green", "purple") +/obj/item/weapon/twohanded/dualsaber/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + /obj/item/weapon/twohanded/dualsaber/update_icon() if(wielded) icon_state = "dualsaber[item_color][wielded]" else icon_state = "dualsaber0" clean_blood()//blood overlays get weird otherwise, because the sprite changes. - return /obj/item/weapon/twohanded/dualsaber/attack(mob/target, mob/living/carbon/human/user) if(user.has_dna()) @@ -232,12 +236,14 @@ impale(user) return if((wielded) && prob(50)) - spawn(0) - for(var/i in list(1,2,4,8,4,2,1,2,4,8,4,2)) - user.setDir(i) - if(i == 8) - user.emote("flip") - sleep(1) + addtimer(src, "jedi_spin", 0, TRUE, user) + +/obj/item/weapon/twohanded/dualsaber/proc/jedi_spin(mob/living/user) + for(var/i in list(1,2,4,8,4,2,1,2,4,8,4,2)) + user.setDir(i) + if(i == 8) + user.emote("flip") + sleep(1) /obj/item/weapon/twohanded/dualsaber/proc/impale(mob/living/user) user << "You twirl around a bit before losing your balance and impaling yourself on \the [src]." @@ -265,17 +271,41 @@ w_class = w_class_on ..() hitsound = 'sound/weapons/blade1.ogg' + START_PROCESSING(SSobj, src) /obj/item/weapon/twohanded/dualsaber/unwield() //Specific unwield () to switch hitsounds. sharpness = initial(sharpness) w_class = initial(w_class) ..() hitsound = "swing_hit" + STOP_PROCESSING(SSobj, src) + +/obj/item/weapon/twohanded/dualsaber/process() + if(wielded) + open_flame() + else + STOP_PROCESSING(SSobj, src) /obj/item/weapon/twohanded/dualsaber/IsReflect() if(wielded) return 1 +/obj/item/weapon/twohanded/dualsaber/ignition_effect(atom/A, mob/user) + // same as /obj/item/weapon/melee/energy, mostly + if(!wielded) + return "" + var/in_mouth = "" + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.wear_mask == src) + in_mouth = ", barely missing their nose" + . = "[user] swings their \ + [src][in_mouth]. They light [A] in the process." + playsound(loc, hitsound, get_clamped_volume(), 1, -1) + add_fingerprint(user) + // Light your candles while spinning around the room + addtimer(src, "jedi_spin", 0, TRUE, user) + /obj/item/weapon/twohanded/dualsaber/green/New() item_color = "green" diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 99d92289cbf..7e5a331af87 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -219,5 +219,3 @@ /obj/proc/CanAStarPass() . = !density - - diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm new file mode 100644 index 00000000000..4da513ce352 --- /dev/null +++ b/code/game/objects/structures/fireplace.dm @@ -0,0 +1,153 @@ +#define LOG_BURN_TIMER 150 +#define PAPER_BURN_TIMER 5 +#define MAXIMUM_BURN_TIMER 3000 + +/obj/structure/fireplace + name = "fireplace" + desc = "A large stone brick fireplace." + icon = 'icons/obj/fireplace.dmi' + icon_state = "fireplace" + density = FALSE + anchored = TRUE + pixel_x = -16 + burn_state = FIRE_PROOF + var/lit = FALSE + + var/fuel_added = 0 + var/flame_expiry_timer + +/obj/structure/fireplace/New() + ..() + START_PROCESSING(SSobj, src) + +/obj/structure/fireplace/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/structure/fireplace/proc/try_light(obj/item/O, mob/user) + if(lit) + user << "It's already lit!" + return FALSE + if(!fuel_added) + user << "[src] needs some fuel to burn!" + return FALSE + var/msg = O.ignition_effect(src, user) + if(msg) + visible_message(msg) + ignite() + return TRUE + +/obj/structure/fireplace/attackby(obj/item/T, mob/user) + if(istype(T,/obj/item/stack/sheet/mineral/wood)) + var/obj/item/stack/sheet/mineral/wood/wood = T + var/space_remaining = MAXIMUM_BURN_TIMER - burn_time_remaining() + var/space_for_logs = round(space_remaining / LOG_BURN_TIMER) + if(space_for_logs < 1) + user << "You can't fit any more of [T] in \ + [src]!" + return + var/logs_used = min(space_for_logs, wood.amount) + wood.use(logs_used) + adjust_fuel_timer(LOG_BURN_TIMER * logs_used) + user.visible_message("[user] tosses some \ + wood into [src].", "You add \ + some fuel to [src].") + else if(istype(T, /obj/item/weapon/paper_bin)) + var/obj/item/weapon/paper_bin/paper_bin = T + user.visible_message("[user] throws [T] into \ + [src].", "You add [T] to [src].\ + ") + adjust_fuel_timer(PAPER_BURN_TIMER * paper_bin.amount) + qdel(paper_bin) + else if(istype(T, /obj/item/weapon/paper)) + user.visible_message("[user] throws [T] into \ + [src].", "You throw [T] into [src].\ + ") + adjust_fuel_timer(PAPER_BURN_TIMER) + qdel(T) + else if(try_light(T,user)) + return + else + . = ..() + +/obj/structure/fireplace/update_icon() + cut_overlays() + if(lit) + switch(burn_time_remaining()) + if(0 to 500) + add_overlay("fireplace_fire0") + if(500 to 1000) + add_overlay("fireplace_fire1") + if(1000 to 1500) + add_overlay("fireplace_fire2") + if(1500 to 2000) + add_overlay("fireplace_fire3") + if(2000 to MAXIMUM_BURN_TIMER) + add_overlay("fireplace_fire4") + add_overlay("fireplace_glow") + +/obj/structure/fireplace/proc/adjust_light() + if(!lit) + SetLuminosity(0) + return + + switch(burn_time_remaining()) + if(0 to 500) + SetLuminosity(1) + if(500 to 1000) + SetLuminosity(2) + if(1000 to 1500) + SetLuminosity(3) + if(1500 to 2000) + SetLuminosity(4) + if(2000 to MAXIMUM_BURN_TIMER) + SetLuminosity(6) + +/obj/structure/fireplace/process() + if(!lit) + return + if(world.time > flame_expiry_timer) + put_out() + return + + playsound(src, 'sound/effects/comfyfire.ogg',50,0, 0, 1) + var/turf/T = get_turf(src) + T.hotspot_expose(700, 5) + update_icon() + adjust_light() + +/obj/structure/fireplace/extinguish() + if(lit) + var/fuel = burn_time_remaining() + flame_expiry_timer = 0 + put_out() + adjust_fuel_timer(fuel) + . = ..() + +/obj/structure/fireplace/proc/adjust_fuel_timer(amount) + if(lit) + flame_expiry_timer += amount + if(burn_time_remaining() < MAXIMUM_BURN_TIMER) + flame_expiry_timer = world.time + MAXIMUM_BURN_TIMER + else + fuel_added = Clamp(fuel_added + amount, 0, MAXIMUM_BURN_TIMER) + +/obj/structure/fireplace/proc/burn_time_remaining() + if(lit) + return max(0, flame_expiry_timer - world.time) + else + return max(0, fuel_added) + +/obj/structure/fireplace/proc/ignite() + lit = TRUE + desc = "A large stone brick fireplace, warm and cozy." + flame_expiry_timer = world.time + fuel_added + fuel_added = 0 + update_icon() + adjust_light() + +/obj/structure/fireplace/proc/put_out() + lit = FALSE + update_icon() + adjust_light() + desc = initial(desc) diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 0431f5b222c..bdb0f4a52b8 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -15,8 +15,7 @@ /obj/item/device/assembly/igniter/Destroy() qdel(sparks) sparks = null - return ..() - + . = ..() /obj/item/device/assembly/igniter/activate() if(!..()) @@ -27,8 +26,12 @@ sparks.start() return 1 - /obj/item/device/assembly/igniter/attack_self(mob/user) activate() add_fingerprint(user) - return + +/obj/item/device/assembly/igniter/ignition_effect(atom/A, mob/user) + . = "[user] fiddles with [src], and manages to \ + light [A]." + activate() + add_fingerprint(user) diff --git a/code/modules/awaymissions/mission_code/Cabin.dm b/code/modules/awaymissions/mission_code/Cabin.dm index 6f5ba2a4d64..2f386c471e2 100644 --- a/code/modules/awaymissions/mission_code/Cabin.dm +++ b/code/modules/awaymissions/mission_code/Cabin.dm @@ -17,58 +17,59 @@ name = "Lumbermill" icon_state = "away3" - - - - -/*Cabin code*/ -/obj/structure/fireplace - name = "fireplace" +/obj/structure/firepit + name = "firepit" desc = "warm and toasty" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "fireplace-active" + icon = 'icons/obj/fireplace.dmi' + icon_state = "firepit-active" density = 0 var/active = 1 -/obj/structure/fireplace/initialize() +/obj/structure/firepit/initialize() ..() - toggleFireplace() + toggleFirepit() -/obj/structure/fireplace/attack_hand(mob/living/user) +/obj/structure/firepit/attack_hand(mob/living/user) if(active) active = 0 - toggleFireplace() + toggleFirepit() else ..() -/obj/structure/fireplace/attackby(obj/item/W,mob/living/user,params) +/obj/structure/firepit/attackby(obj/item/W,mob/living/user,params) if(!active) - if(W.is_hot()) - active = 1 - toggleFireplace() + var/msg = W.ignition_effect(src, user) + if(msg) + active = TRUE + visible_message(msg) + toggleFirepit() else return ..() else W.fire_act() -/obj/structure/fireplace/proc/toggleFireplace() +/obj/structure/firepit/proc/toggleFirepit() if(active) SetLuminosity(8) - icon_state = "fireplace-active" + icon_state = "firepit-active" else SetLuminosity(0) - icon_state = "fireplace" + icon_state = "firepit" -/obj/structure/fireplace/extinguish() +/obj/structure/firepit/extinguish() if(active) - active = 0 - toggleFireplace() + active = FALSE + toggleFirepit() -/obj/structure/fireplace/fire_act() +/obj/structure/firepit/fire_act() if(!active) - active = 1 - toggleFireplace() + active = TRUE + toggleFirepit() + + + +//other Cabin Stuff// /obj/machinery/recycler/lumbermill name = "lumbermill saw" diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 24bc2f9fa1a..08f1f9bd76f 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -11,18 +11,24 @@ pressure_resistance = 8 burn_state = FLAMMABLE var/amount = 30 //How much paper is in the bin. - var/list/papers = new/list() //List of papers put in the bin for reference. + var/list/papers = list() //List of papers put in the bin for reference. /obj/item/weapon/paper_bin/fire_act() if(!amount) return ..() +/obj/item/weapon/paper_bin/Destroy() + if(papers) + for(var/i in papers) + qdel(i) + papers = null + . = ..() + /obj/item/weapon/paper_bin/burn() amount = 0 extinguish() update_icon() - return /obj/item/weapon/paper_bin/MouseDrop(atom/over_object) var/mob/living/M = usr diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 2c3366a401c..b2e0b8fb995 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -125,7 +125,6 @@ G.temperature = max(min(G.temperature-(CT*1000),G.temperature/CT),0) G.react() qdel(hotspot) - return /* * Water reaction to an object diff --git a/icons/obj/fireplace.dmi b/icons/obj/fireplace.dmi new file mode 100644 index 00000000000..6c99925cdd9 Binary files /dev/null and b/icons/obj/fireplace.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 15ab4676d5e..b38f1031947 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/sound/effects/comfyfire.ogg b/sound/effects/comfyfire.ogg new file mode 100644 index 00000000000..9b796219b3b Binary files /dev/null and b/sound/effects/comfyfire.ogg differ diff --git a/tgstation.dme b/tgstation.dme index ea4713aba5b..8d1afe94f43 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -740,6 +740,7 @@ #include "code\game\objects\structures\extinguisher.dm" #include "code\game\objects\structures\false_walls.dm" #include "code\game\objects\structures\fireaxe.dm" +#include "code\game\objects\structures\fireplace.dm" #include "code\game\objects\structures\flora.dm" #include "code\game\objects\structures\fluff.dm" #include "code\game\objects\structures\ghost_role_spawners.dm"