/obj/item/weapon/paper_bin name = "paper bin" icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper_bin_" item_state = "sheet-metal" throwforce = 1 w_class = W_CLASS_MEDIUM w_type = RECYK_CARDBOARD throw_speed = 3 throw_range = 7 pressure_resistance = 10 layer = BELOW_OBJ_LAYER 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/crayon = null var/image/paper = null flammable = TRUE /obj/item/weapon/paper_bin/New() ..() update_icon() thermal_mass = thermal_mass + amount * 0.1 //0.1 = paper thermal_mass /obj/item/weapon/paper_bin/black crayon = "black" icon_state = "paper_bin_black" //previews for mapper sanity /obj/item/weapon/paper_bin/blue crayon = "blue" icon_state = "paper_bin_blue" /obj/item/weapon/paper_bin/red crayon = "red" icon_state = "paper_bin_red" /obj/item/weapon/paper_bin/white crayon = "sterile" icon_state = "paper_bin_sterile" /obj/item/weapon/paper_bin/yellow crayon = "yellow" icon_state = "paper_bin_yellow" /obj/item/weapon/paper_bin/purple crayon = "purple" icon_state = "paper_bin_purple" /obj/item/weapon/paper_bin/orange crayon = "orange" icon_state = "paper_bin_orange" /obj/item/weapon/paper_bin/green crayon = "green" icon_state = "paper_bin_green" /obj/item/weapon/paper_bin/rainbow crayon = "rainbow" icon_state = "paper_bin_rainbow" /obj/item/weapon/paper_bin/mime crayon = "mime" icon_state = "paper_bin_mime" /obj/item/weapon/paper_bin/decontaminate() ..() crayon = "sterile" update_icon() /obj/item/weapon/paper_bin/useThermalMass(var/used_mass) ..() if(amount) var/burnt_papers = round((amount * 0.1)-(thermal_mass - initial_thermal_mass)) //0.1 = paper thermal_mass for(var/i in 1 to burnt_papers) var/obj/item/weapon/paper/P if(papers.len > 0) P = papers[papers.len] papers.Remove(P) qdel(P) amount-- else update_icon() /obj/item/weapon/paper_bin/Exited(atom/movable/Obj, atom/newloc) if(papers.Remove(Obj)) amount-- thermal_mass-- ..() /obj/item/weapon/paper_bin/MouseDropFrom(atom/over_object) MouseDropPickUp(over_object) return ..() /obj/item/weapon/paper_bin/attack_paw(mob/user as mob) return attack_hand(user) /obj/item/weapon/paper_bin/attack_hand(mob/user as mob) if(amount >= 1) amount-- thermal_mass-- var/obj/item/weapon/paper/P if(papers.len > 0) //If there's any custom paper on the stack, use that instead of creating a new paper. P = papers[papers.len] papers.Remove(P) else P = new /obj/item/weapon/paper if(Holiday == APRIL_FOOLS_DAY) if(prob(30)) P.info = "HONK HONK HONK HONK HONK HONK HONK
HOOOOOOOOOOOOOOOOOOOOOONK
APRIL FOOLS
" P.rigged = 1 P.updateinfolinks() update_icon() user.put_in_hands(P) to_chat(user, "You take [P] out of the [src].") else to_chat(user, "[src] is empty!") add_fingerprint(user) return /obj/item/weapon/paper_bin/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/paper) && user.drop_item(I, src)) to_chat(user, "You put [I] in [src].") papers.Add(I) amount++ thermal_mass++ update_icon() else if(istype(I, /obj/item/toy/crayon)) var/obj/item/toy/crayon/C = I crayon = C.colourName update_icon() else if (istype(I, /obj/item/weapon/soap)) crayon = null update_icon() /obj/item/weapon/paper_bin/examine(mob/user) ..() if(amount) to_chat(user, "There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.") /* if(papers.len > 0) var/obj/item/weapon/paper/P = papers[papers.len] if(istype(P,/obj/item/weapon/paper/talisman)) if(iscultist(user) || isobserver(user)) var/obj/item/weapon/paper/talisman/T = P switch(T.imbue) if("newtome") to_chat(user, "You spot a Spawn Arcane Tome talisman on top.") if("armor") to_chat(user, "You spot a Cult Armor talisman on top.") if("emp") to_chat(user, "You spot an EMP talisman on top.") if("conceal") to_chat(user, "You spot an Hide Runes talisman on top.") if("revealrunes") to_chat(user, "You spot a Reveal Runes talisman on top.") if("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri") to_chat(user, "You spot a Teleport talisman on top, linked to [T.imbue]") if("communicate") to_chat(user, "You spot a Communicate talisman on top.") if("deafen") to_chat(user, "You spot a Deafen talisman on top.") if("blind") to_chat(user, "You spot a Blind talisman on top.") if("runestun") to_chat(user, "You spot a Stun talisman on top.") if("supply") to_chat(user, "You spot a Supply talisman on top.") else to_chat(user, "You spot a weird talisman on top.") else to_chat(user, "The paper on top has some bloody markings on it.") else if(P.info) to_chat(user, "You notice some writings on the top paper. Take a closer look.") */ else to_chat(user, "There are no papers in the bin.") /obj/item/weapon/paper_bin/update_icon() overlays.len = 0 if(amount > 0) if(papers.len > 0) var/obj/item/weapon/paper/P = papers[papers.len] if(P.info) paper = image('icons/obj/bureaucracy.dmi', src, "paper_bin_words") overlays += paper else paper = image('icons/obj/bureaucracy.dmi', src, "paper_bin_blank") overlays += paper else paper = image('icons/obj/bureaucracy.dmi', src, "paper_bin_blank") overlays += paper else paper = null overlays += paper icon_state = "paper_bin_[crayon]" /obj/item/weapon/paper_bin/empty amount = 0