57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
/obj/effect/decal/cleanable/crayon
|
|
name = "rune"
|
|
desc = "Graffiti. Damn kids."
|
|
icon = 'icons/effects/crayondecal.dmi'
|
|
icon_state = "rune1"
|
|
gender = NEUTER
|
|
var/do_icon_rotate = TRUE
|
|
|
|
/obj/effect/decal/cleanable/crayon/Initialize(mapload, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0, var/alt_icon = null)
|
|
..()
|
|
|
|
name = e_name
|
|
desc = "A [name] vandalizing the station."
|
|
if(type == "poseur tag")
|
|
type = pick(GLOB.gang_name_pool)
|
|
|
|
if(alt_icon)
|
|
icon = alt_icon
|
|
icon_state = type
|
|
|
|
if(rotation && do_icon_rotate)
|
|
var/matrix/M = matrix()
|
|
M.Turn(rotation)
|
|
src.transform = M
|
|
|
|
add_atom_colour(main, FIXED_COLOUR_PRIORITY)
|
|
|
|
|
|
/obj/effect/decal/cleanable/crayon/gang
|
|
layer = HIGH_OBJ_LAYER //Harder to hide
|
|
do_icon_rotate = FALSE //These are designed to always face south, so no rotation please.
|
|
var/datum/gang/gang
|
|
var/obj/item/device/gangtool/linked_tool
|
|
var/area/territory
|
|
|
|
/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, var/datum/gang/G, var/e_name = "gang tag", var/rotation = 0, var/mob/user)
|
|
if(!type || !G)
|
|
qdel(src)
|
|
territory = get_area(src)
|
|
gang = G
|
|
var/newcolor = G.color_hex
|
|
icon_state = G.name
|
|
G.territory_new |= list(territory.type = territory.name)
|
|
linked_tool = locate(/obj/item/device/gangtool) in user.contents
|
|
if(linked_tool)
|
|
linked_tool.tags += src
|
|
..(mapload, newcolor, icon_state, e_name, rotation)
|
|
|
|
/obj/effect/decal/cleanable/crayon/gang/Destroy()
|
|
if(linked_tool)
|
|
linked_tool.tags -= src
|
|
if(gang)
|
|
gang.territory -= territory.type
|
|
gang.territory_new -= territory.type
|
|
gang.territory_lost |= list(territory.type = territory.name)
|
|
return ..()
|