/* Pens! * Contains: * Pens * Sleepy Pens * Parapens */ /* * Pens */ /obj/item/weapon/pen desc = "An instrument for writing or drawing with ink. This one is in black. Stylish, classic and professional." name = "pen" icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" item_state = "pen" slot_flags = SLOT_BELT | SLOT_EARS throwforce = 0 w_class = 1.0 throw_speed = 7 throw_range = 15 matter = list(DEFAULT_WALL_MATERIAL = 10) var/colour = "black" //what colour the ink is! drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/weapon/pen/blue desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers." icon_state = "pen_blue" colour = "blue" /obj/item/weapon/pen/red desc = "An instrument for writing or drawing with ink. This one is in red. Favored by teachers and creeps who like to pretend to write in blood." icon_state = "pen_red" colour = "red" /obj/item/weapon/pen/multi desc = "An instrument for writing or drawing with ink. This one comes with with multiple colors! Push down all three simultaneously to rule the universe." icon_state = "pen_multi" var/selectedColor = 1 var/colors = list("black","blue","red") /obj/item/weapon/pen/multi/attack_self(mob/user) if(++selectedColor > 3) selectedColor = 1 colour = colors[selectedColor] if(colour == "black") icon_state = "pen" else icon_state = "pen_[colour]" to_chat(user, "Changed color to '[colour].'") /obj/item/weapon/pen/invisible desc = "An instrument for writing or drawing with ink. This one has invisible ink." icon_state = "pen" colour = "white" /obj/item/weapon/pen/attack(mob/M as mob, mob/user as mob, var/target_zone) if(!ismob(M)) return to_chat(user, "You stab [M] with the pen.") // to_chat(M, "\red You feel a tiny prick!" //That's a whole lot of meta!) M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) return /obj/item/weapon/pen/attack_self(var/mob/user) playsound(loc, 'sound/items/penclick.ogg', 50, 1) /* * Reagent pens */ /obj/item/weapon/pen/reagent flags = OPENCONTAINER slot_flags = SLOT_BELT origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) /obj/item/weapon/pen/reagent/New() ..() create_reagents(30) /obj/item/weapon/pen/reagent/attack(mob/living/M as mob, mob/user as mob) if(!istype(M)) return . = ..() if(M.can_inject(user,1)) if(reagents.total_volume) if(M.reagents) var/contained_reagents = reagents.get_reagents() var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans) /* * Sleepy Pens */ /obj/item/weapon/pen/reagent/sleepy desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) /obj/item/weapon/pen/reagent/sleepy/New() ..() reagents.add_reagent("chloralhydrate", 22) //Used to be 100 sleep toxin//30 Chloral seems to be fatal, reducing it to 22./N /* * Parapens */ /obj/item/weapon/pen/reagent/paralysis origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) /obj/item/weapon/pen/reagent/paralysis/New() ..() reagents.add_reagent("zombiepowder", 10) reagents.add_reagent("cryptobiolin", 15) /* * Chameleon pen */ /obj/item/weapon/pen/chameleon var/signature = "" /obj/item/weapon/pen/chameleon/attack_self(mob/user as mob) signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature)) /obj/item/weapon/pen/proc/get_signature(var/mob/user) if (user) if (user.mind && user.mind.signature) return user.mind.signature else if (user.real_name) return "[user.real_name]" return "Anonymous" /obj/item/weapon/pen/chameleon/get_signature(var/mob/user) return signature ? "[signature]" : "Anonymous" /obj/item/weapon/pen/chameleon/verb/set_colour() set name = "Change Pen Colour" set category = "Object" var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black") var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours if(selected_type) switch(selected_type) if("Yellow") colour = COLOR_YELLOW if("Green") colour = COLOR_LIME if("Pink") colour = COLOR_PINK if("Blue") colour = COLOR_BLUE if("Orange") colour = COLOR_ORANGE if("Cyan") colour = COLOR_CYAN if("Red") colour = COLOR_RED if("Invisible") colour = COLOR_WHITE else colour = COLOR_BLACK to_chat(usr, "You select the [lowertext(selected_type)] ink container.") /* * Crayons */ /obj/item/weapon/pen/crayon name = "crayon" desc = "A colourful crayon. Please refrain from eating it or putting it in your nose." icon = 'icons/obj/crayons.dmi' icon_state = "crayonred" w_class = 1.0 attack_verb = list("attacked", "coloured") colour = "#FF0000" //RGB var/shadeColour = "#220000" //RGB var/uses = 30 //0 for unlimited uses var/instant = 0 var/colourName = "red" //for updateIcon purposes New() name = "[colourName] crayon" ..()