Files
Aurora.3/code/game/objects/items/crayons.dm
Doxxmedearly fb3f222cc7 Highly-Anticipated Crayon Features (#7312)
Crayons finally have crayon dust in them. Use a grinder to get it (syringes won't work).
    Removed the "uses" var for crayons and made the number of times a crayon can be used (or chewed on) based on the amount of crayon dust remaining.
    Normal crayons contain 10 units of crayon dust. One drawing consumes 0.5 dust (for 20 effective uses. Down from 30). Taking a bite transfer 2 units to you (For five bites). So where before you could bite a crayon 4 times and still use it 30 times, now if you bite a crayon 4 times (8 units) you can only use the nub to draw 4 times (2 units) before it's gone.
    Mime crayons have 15 units of dust, rainbow crayons have 20.
    Biogenerator can produce crayon boxes now. It can already produce wax and cardboard, so this isn't a stretch. People will have to interact with hydro or cargo to get a good amount of a specific color of dust.
    Gave crayon dust colors unique flavors because why not. It's fun.
    Fixes #6284
2019-11-04 09:12:54 +02:00

119 lines
4.0 KiB
Plaintext

/obj/item/weapon/pen/crayon/red
icon_state = "crayonred"
colour = "#DA0000"
shadeColour = "#810C0C"
colourName = "red"
dust = "crayon_dust_red"
/obj/item/weapon/pen/crayon/orange
icon_state = "crayonorange"
colour = "#FF9300"
shadeColour = "#A55403"
colourName = "orange"
dust = "crayon_dust_orange"
/obj/item/weapon/pen/crayon/yellow
icon_state = "crayonyellow"
colour = "#FFF200"
shadeColour = "#886422"
colourName = "yellow"
dust = "crayon_dust_yellow"
/obj/item/weapon/pen/crayon/green
icon_state = "crayongreen"
colour = "#A8E61D"
shadeColour = "#61840F"
colourName = "green"
dust = "crayon_dust_green"
/obj/item/weapon/pen/crayon/blue
icon_state = "crayonblue"
colour = "#00B7EF"
shadeColour = "#0082A8"
colourName = "blue"
dust = "crayon_dust_blue"
/obj/item/weapon/pen/crayon/purple
icon_state = "crayonpurple"
colour = "#DA00FF"
shadeColour = "#810CFF"
colourName = "purple"
dust = "crayon_dust_purple"
/obj/item/weapon/pen/crayon/mime
icon_state = "crayonmime"
desc = "A very sad-looking crayon."
colour = "#FFFFFF"
shadeColour = "#000000"
colourName = "mime"
dust = "crayon_dust_grey"
chem_volume = 15
/obj/item/weapon/pen/crayon/mime/attack_self(mob/living/user as mob) //inversion
if(colour != "#FFFFFF" && shadeColour != "#000000")
colour = "#FFFFFF"
shadeColour = "#000000"
to_chat(user, "You will now draw in white and black with this crayon.")
else
colour = "#000000"
shadeColour = "#FFFFFF"
to_chat(user, "You will now draw in black and white with this crayon.")
return
/obj/item/weapon/pen/crayon/rainbow
icon_state = "crayonrainbow"
colour = "#FFF000"
shadeColour = "#000FFF"
colourName = "rainbow"
dust = "crayon_dust_brown"
chem_volume = 20
/obj/item/weapon/pen/crayon/rainbow/attack_self(mob/living/user as mob)
colour = input(user, "Please select the main colour.", "Crayon colour") as color
shadeColour = input(user, "Please select the shade colour.", "Crayon colour") as color
return
/obj/item/weapon/pen/crayon/afterattack(atom/target, mob/user as mob, proximity)
if(!proximity) return
if(istype(target,/turf/simulated/floor))
var/originaloc = user.loc
var/drawtype = input("Choose what you'd like to draw.", "Crayon scribbles") in list("graffiti","rune","letter","arrow")
if (user.loc != originaloc)
to_chat(user, "<span class='notice'>You moved!</span>")
return
switch(drawtype)
if("letter")
drawtype = input("Choose the letter.", "Crayon scribbles") in list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
to_chat(user, "You start drawing a letter on the [target.name].")
if("graffiti")
to_chat(user, "You start drawing graffiti on the [target.name].")
if("rune")
to_chat(user, "You start drawing a rune on the [target.name].")
if("arrow")
drawtype = input("Choose the arrow.", "Crayon scribbles") in list("left", "right", "up", "down")
to_chat(user, "You start drawing an arrow on the [target.name].")
if(instant || do_after(user, 50))
new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
to_chat(user, "You finish drawing.")
target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on.
if(reagents)
reagents.remove_reagent(dust,0.5) //using crayons reduces crayon dust in it.
if(reagents.total_volume <= 0)
to_chat(user, "<span class='warning'>You used up your crayon!</span>")
qdel(src)
return
/obj/item/weapon/pen/crayon/attack(mob/M as mob, mob/user as mob, var/target_zone)
if(M == user)
to_chat(user, "You take a bite of the crayon and swallow it.")
user.adjustNutritionLoss(-1)
reagents.trans_to_mob(user, 2, CHEM_INGEST)
if(reagents.total_volume <= 0)
to_chat(user, "<span class='warning'>You ate your crayon!</span>")
qdel(src)
else
..(M, user, target_zone)
/obj/item/weapon/pen/crayon/attack_self(var/mob/user)
return