/obj/structure/bigDelivery name = "large parcel" desc = "A large delivery parcel." icon = 'icons/obj/storage.dmi' icon_state = "deliverycloset" density = TRUE mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/giftwrapped = FALSE var/sortTag = 0 /obj/structure/bigDelivery/interact(mob/user) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) qdel(src) /obj/structure/bigDelivery/Destroy() var/turf/T = get_turf(src) for(var/atom/movable/AM in contents) AM.forceMove(T) return ..() /obj/structure/bigDelivery/contents_explosion(severity, target) for(var/atom/movable/AM in contents) AM.ex_act() /obj/structure/bigDelivery/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/destTagger)) var/obj/item/destTagger/O = W if(sortTag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) to_chat(user, "*[tag]*") sortTag = O.currTag playsound(loc, 'sound/machines/twobeep.ogg', 100, 1) else if(istype(W, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the side of [src]!") return var/str = copytext(sanitize(input(user,"Label text?","Set label","")),1,MAX_NAME_LEN) if(!user.canUseTopic(src, BE_CLOSE)) return if(!str || !length(str)) to_chat(user, "Invalid text!") return user.visible_message("[user] labels [src] as [str].") name = "[name] ([str])" else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped) var/obj/item/stack/wrapping_paper/WP = W if(WP.use(3)) user.visible_message("[user] wraps the package in festive paper!") giftwrapped = TRUE icon_state = "gift[icon_state]" else to_chat(user, "You need more paper!") else return ..() /obj/structure/bigDelivery/relay_container_resist(mob/living/user, obj/O) if(ismovableatom(loc)) var/atom/movable/AM = loc //can't unwrap the wrapped container if it's inside something. AM.relay_container_resist(user, O) return to_chat(user, "You lean on the back of [O] and start pushing to rip the wrapping around it.") if(do_after(user, 50, target = O)) if(!user || user.stat != CONSCIOUS || user.loc != O || O.loc != src ) return to_chat(user, "You successfully removed [O]'s wrapping !") O.forceMove(loc) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) qdel(src) else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. to_chat(user, "You fail to remove [O]'s wrapping!") /obj/item/smallDelivery name = "parcel" desc = "A brown paper delivery parcel." icon = 'icons/obj/storage.dmi' icon_state = "deliverypackage3" var/giftwrapped = 0 var/sortTag = 0 /obj/item/smallDelivery/contents_explosion(severity, target) for(var/atom/movable/AM in contents) AM.ex_act() /obj/item/smallDelivery/attack_self(mob/user) user.temporarilyRemoveItemFromInventory(src, TRUE) for(var/X in contents) var/atom/movable/AM = X user.put_in_hands(AM) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) qdel(src) /obj/item/smallDelivery/attack_self_tk(mob/user) if(ismob(loc)) var/mob/M = loc M.temporarilyRemoveItemFromInventory(src, TRUE) for(var/X in contents) var/atom/movable/AM = X M.put_in_hands(AM) else for(var/X in contents) var/atom/movable/AM = X AM.forceMove(src.loc) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1) qdel(src) /obj/item/smallDelivery/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/destTagger)) var/obj/item/destTagger/O = W if(sortTag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) to_chat(user, "*[tag]*") sortTag = O.currTag playsound(loc, 'sound/machines/twobeep.ogg', 100, 1) else if(istype(W, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the side of [src]!") return var/str = copytext(sanitize(input(user,"Label text?","Set label","")),1,MAX_NAME_LEN) if(!user.canUseTopic(src, BE_CLOSE)) return if(!str || !length(str)) to_chat(user, "Invalid text!") return user.visible_message("[user] labels [src] as [str].") name = "[name] ([str])" else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped) var/obj/item/stack/wrapping_paper/WP = W if(WP.use(1)) icon_state = "gift[icon_state]" giftwrapped = 1 user.visible_message("[user] wraps the package in festive paper!") else to_chat(user, "You need more paper!") /obj/item/destTagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages." icon = 'icons/obj/device.dmi' icon_state = "cargotagger" var/currTag = 0 //Destinations are stored in code\globalvars\lists\flavor_misc.dm w_class = WEIGHT_CLASS_TINY item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT /obj/item/destTagger/suicide_act(mob/living/user) user.visible_message("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!") if (islizard(user)) to_chat(user, "*HELL*")//lizard nerf else to_chat(user, "*HEAVEN*") playsound(src, 'sound/machines/twobeep.ogg', 100, 1) return BRUTELOSS /obj/item/destTagger/proc/openwindow(mob/user) var/dat = "TagMaster 2.2" dat += "" for (var/i = 1, i <= GLOB.TAGGERLOCATIONS.len, i++) dat += "[GLOB.TAGGERLOCATIONS[i]]" if(i%4==0) dat += "" dat += "Current Selection: [currTag ? GLOB.TAGGERLOCATIONS[currTag] : "None"]" user << browse(dat, "window=destTagScreen;size=450x350") onclose(user, "destTagScreen") /obj/item/destTagger/attack_self(mob/user) openwindow(user) return /obj/item/destTagger/Topic(href, href_list) add_fingerprint(usr) if(href_list["nextTag"]) var/n = text2num(href_list["nextTag"]) currTag = n openwindow(usr)