Graffiti centers on where you click. (#9255)

* Graffiti centers on where you click.

* Oversights, and pixelshifted engravings.

* Better returns
This commit is contained in:
Mechoid
2023-12-27 21:41:07 -08:00
committed by GitHub
parent 14c681720d
commit e976eaba4e
10 changed files with 122 additions and 22 deletions
+19 -6
View File
@@ -4,25 +4,38 @@
icon = 'icons/obj/rune.dmi'
plane = DIRTY_PLANE
anchored = 1
var/art_type
var/art_color
var/art_shade
/obj/effect/decal/cleanable/crayon/Initialize(var/ml, main = "#FFFFFF",shade = "#000000",var/type = "rune")
. = ..(ml, 0) // mapload, age
name = type
desc = "A [type] drawn in crayon."
// Persistence vars.
art_type = type
art_color = main
art_shade = shade
switch(type)
if("rune")
type = "rune[rand(1,6)]"
if("graffiti")
type = pick("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa")
var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]",2.1)
var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]s",2.1)
update_icon()
mainOverlay.Blend(main,ICON_ADD)
shadeOverlay.Blend(shade,ICON_ADD)
add_hiddenprint(usr)
/obj/effect/decal/cleanable/crayon/update_icon()
cut_overlays()
var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[art_type]",2.1)
var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[art_type]s",2.1)
mainOverlay.Blend(art_color,ICON_ADD)
shadeOverlay.Blend(art_shade,ICON_ADD)
add_overlay(mainOverlay)
add_overlay(shadeOverlay)
add_hiddenprint(usr)
return