Files
Paradise/code/game/objects/effects/decals/turf_decal.dm
warriorstar-orion b5ac86c818 Add new line decals. (#29907)
* Add new line decals.

* undefs

* remove redundant alpha

* fix lint
2025-08-06 06:01:09 +00:00

163 lines
5.6 KiB
Plaintext

/obj/effect/turf_decal
icon = 'icons/turf/decals.dmi'
icon_state = "warningline"
layer = TURF_DECAL_LAYER
var/painter_category = DECAL_PAINTER_CATEGORY_STANDARD
/obj/effect/turf_decal/Initialize(mapload, _dir)
..()
. = INITIALIZE_HINT_QDEL
var/turf/T = loc
if(!istype(T)) //you know this will happen somehow
CRASH("Turf decal initialized in an object/nullspace")
T.AddElement(/datum/element/decal, icon, icon_state, _dir || dir, layer, alpha, color, FALSE, null)
/obj/effect/turf_decal/trimline
icon = 'icons/turf/trimline.dmi'
icon_state = "blank"
painter_category = DECAL_PAINTER_CATEGORY_THIN
/obj/effect/turf_decal/border
icon = 'icons/turf/trimline.dmi'
icon_state = "blank"
painter_category = DECAL_PAINTER_CATEGORY_SQUARE
#define TURF_DECAL_COLOR_HELPER(color_name, tile_color) \
/obj/effect/turf_decal/border/##color_name { \
icon_state = "bordercolor"; \
color = ##tile_color; \
} \
/obj/effect/turf_decal/border/##color_name/corner { \
icon_state = "bordercolorcorner" \
} \
/obj/effect/turf_decal/border/##color_name/full { \
icon_state = "bordercolorfull" \
} \
/obj/effect/turf_decal/border/##color_name/cee { \
icon_state = "bordercolorcee" \
} \
/obj/effect/turf_decal/trimline/##color_name { \
icon_state = "trimline_box"; \
color = ##tile_color \
} \
/obj/effect/turf_decal/trimline/##color_name/line { \
icon_state = "trimline" \
} \
/obj/effect/turf_decal/trimline/##color_name/corner { \
icon_state = "trimline_corner" \
} \
/obj/effect/turf_decal/trimline/##color_name/end { \
icon_state = "trimline_end" \
} \
/obj/effect/turf_decal/trimline/##color_name/arrow_cw { \
icon_state = "trimline_arrow_cw" \
} \
/obj/effect/turf_decal/trimline/##color_name/arrow_ccw { \
icon_state = "trimline_arrow_ccw" \
} \
/obj/effect/turf_decal/trimline/##color_name/warning { \
icon_state = "trimline_warn" \
} \
/obj/effect/turf_decal/trimline/##color_name/warning { \
icon_state = "trimline_warn" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled { \
icon_state = "trimline_box_fill"; \
painter_category = DECAL_PAINTER_CATEGORY_THICK \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/line { \
icon_state = "trimline_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/corner { \
icon_state = "trimline_corner_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/end { \
icon_state = "trimline_end_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/arrow_cw { \
icon_state = "trimline_arrow_cw_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/arrow_ccw { \
icon_state = "trimline_arrow_ccw_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/warning { \
icon_state = "trimline_warn_fill" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/shrink_cw { \
icon_state = "trimline_shrink_cw" \
} \
/obj/effect/turf_decal/trimline/##color_name/filled/shrink_ccw { \
icon_state = "trimline_shrink_ccw" \
}
TURF_DECAL_COLOR_HELPER(neutral, null)
TURF_DECAL_COLOR_HELPER(black, "#444547")
TURF_DECAL_COLOR_HELPER(department/service, "#8dcd72")
TURF_DECAL_COLOR_HELPER(department/medbay, "#72a7cd")
TURF_DECAL_COLOR_HELPER(department/science, "#c794db")
TURF_DECAL_COLOR_HELPER(department/robotics, "#62416f")
TURF_DECAL_COLOR_HELPER(department/engineering, "#cdb272")
TURF_DECAL_COLOR_HELPER(department/supply, "#b99367")
TURF_DECAL_COLOR_HELPER(department/command, "#4f7ea0")
TURF_DECAL_COLOR_HELPER(department/security, "#a0514f")
TURF_DECAL_COLOR_HELPER(department/virology, "#67a04f")
TURF_DECAL_COLOR_HELPER(organization/syndicate, "#9d2300")
TURF_DECAL_COLOR_HELPER(organization/nanotrasen, "#24366f")
TURF_DECAL_COLOR_HELPER(misc/toxins, "#ff7300")
/obj/effect/turf_decal/alphanumeric
icon = 'icons/turf/alphanum_decals.dmi'
icon_state = "blank"
painter_category = DECAL_PAINTER_CATEGORY_ALPHANUM
/obj/effect/turf_decal/alphanumeric/oxygen
icon_state = "oxygen"
/obj/effect/turf_decal/alphanumeric/carbon_dioxide
icon_state = "carbon_dioxide"
/obj/effect/turf_decal/alphanumeric/nitrogen
icon_state = "nitrogen"
/obj/effect/turf_decal/alphanumeric/air
icon_state = "air"
/obj/effect/turf_decal/alphanumeric/nitrous_oxide
icon_state = "nitrous_oxide"
/obj/effect/turf_decal/alphanumeric/plasma
icon_state = "plasma"
/obj/effect/turf_decal/alphanumeric/mix
icon_state = "mix"
/obj/effect/turf_decal/alphanumeric/hydrogen
icon_state = "hydrogen"
#define TURF_DECAL_NUMERIC_HELPER(digit) \
/obj/effect/turf_decal/alphanumeric/center_##digit { \
icon_state = #digit \
} \
/obj/effect/turf_decal/alphanumeric/left_##digit { \
icon_state = #digit + "-" \
} \
/obj/effect/turf_decal/alphanumeric/right_##digit { \
icon_state = "-" + #digit \
} \
TURF_DECAL_NUMERIC_HELPER(0)
TURF_DECAL_NUMERIC_HELPER(1)
TURF_DECAL_NUMERIC_HELPER(2)
TURF_DECAL_NUMERIC_HELPER(3)
TURF_DECAL_NUMERIC_HELPER(4)
TURF_DECAL_NUMERIC_HELPER(5)
TURF_DECAL_NUMERIC_HELPER(6)
TURF_DECAL_NUMERIC_HELPER(7)
TURF_DECAL_NUMERIC_HELPER(8)
TURF_DECAL_NUMERIC_HELPER(9)
#undef TURF_DECAL_COLOR_HELPER
#undef TURF_DECAL_NUMERIC_HELPER