diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 66cbc91419a..0845454b83a 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -227,6 +227,30 @@ \[hr\] : Adds a horizontal rule. "}, "window=paper_help") +/obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/lighter/P, mob/user) + var/class = "" + + if(P.lit && !user.restrained()) + if(istype(P, /obj/item/weapon/lighter/zippo)) + class = "" + + user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \ + "[class]You hold \the [P] up to \the [src], burning it slowly.") + + spawn(20) + if(get_dist(src, user) < 2 && user.get_active_hand() == P && P.lit) + user.visible_message("[class][user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \ + "[class]You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.") + + if(user.get_inactive_hand() == src) + user.drop_from_inventory(src) + + new /obj/effect/decal/cleanable/ash(src.loc) + del(src) + + else + user << "\red You must hold \the [P] steady to burn \the [src]." + /obj/item/weapon/paper/Topic(href, href_list) ..() @@ -286,6 +310,7 @@ user << browse("[name][info_links][stamps]", "window=[name]") //openhelp(user) return + else if(istype(P, /obj/item/weapon/stamp)) if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/weapon/clipboard) ) && loc.loc != user && user.get_active_hand() != P)) return @@ -310,6 +335,9 @@ user << "You stamp the paper with your rubber stamp." + else if(istype(P, /obj/item/weapon/lighter)) + burnpaper(P, user) + add_fingerprint(user) return