cdf36c2c6f
ambient occlusion is a shading technique that simulates how light behaves in the real world, where areas that aren't directly exposed to light tend to receive less lighting. In 3d rendered scenes with ambient occlusion present, this can easily be seen in corners and other crevices in geometry, and can also be visible when two objects are close to one another. cl deathride58 add: Added ambient occlusion. You can toggle this on or off in the game preferences menu. /cl
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
/obj/effect/decal
|
|
name = "decal"
|
|
plane = FLOOR_PLANE
|
|
anchored = TRUE
|
|
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
|
var/turf_loc_check = TRUE
|
|
|
|
/obj/effect/decal/Initialize()
|
|
. = ..()
|
|
if(turf_loc_check && (!isturf(loc) || NeverShouldHaveComeHere(loc)))
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
/obj/effect/decal/blob_act(obj/structure/blob/B)
|
|
if(B && B.loc == loc)
|
|
qdel(src)
|
|
|
|
/obj/effect/decal/proc/NeverShouldHaveComeHere(turf/T)
|
|
return isspaceturf(T) || isclosedturf(T) || islava(T) || istype(T, /turf/open/water) || ischasm(T)
|
|
|
|
/obj/effect/decal/ex_act(severity, target)
|
|
qdel(src)
|
|
|
|
/obj/effect/decal/fire_act(exposed_temperature, exposed_volume)
|
|
if(!(resistance_flags & FIRE_PROOF)) //non fire proof decal or being burned by lava
|
|
qdel(src)
|
|
|
|
/obj/effect/decal/HandleTurfChange(turf/T)
|
|
..()
|
|
if(T == loc && NeverShouldHaveComeHere(T))
|
|
qdel(src)
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/obj/effect/turf_decal
|
|
icon = 'icons/turf/decals.dmi'
|
|
icon_state = "warningline"
|
|
layer = TURF_DECAL_LAYER
|
|
|
|
/obj/effect/turf_decal/Initialize()
|
|
..()
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
/obj/effect/turf_decal/ComponentInitialize()
|
|
. = ..()
|
|
var/turf/T = loc
|
|
if(!istype(T)) //you know this will happen somehow
|
|
CRASH("Turf decal initialized in an object/nullspace")
|
|
T.AddComponent(/datum/component/decal, icon, icon_state, dir, CLEAN_GOD, color)
|