mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
192 lines
4.9 KiB
Plaintext
192 lines
4.9 KiB
Plaintext
/obj/effect/overlay
|
|
name = "overlay"
|
|
unacidable = TRUE
|
|
var/i_attached //Added for possible image attachments to objects. For hallucinations and the like.
|
|
|
|
/obj/effect/overlay/beam //Not actually a projectile, just an effect.
|
|
name="beam"
|
|
icon='icons/effects/beam.dmi'
|
|
icon_state="b_beam"
|
|
plane = ABOVE_OBJ_PLANE
|
|
var/tmp/atom/BeamSource
|
|
|
|
/obj/effect/overlay/beam/New()
|
|
..()
|
|
spawn(10) qdel(src)
|
|
|
|
/obj/effect/overlay/palmtree_r
|
|
name = "Palm tree"
|
|
icon = 'icons/misc/beach2.dmi'
|
|
icon_state = "palm1"
|
|
density = TRUE
|
|
plane = MOB_PLANE
|
|
layer = ABOVE_MOB_LAYER
|
|
anchored = TRUE
|
|
|
|
/obj/effect/overlay/palmtree_l
|
|
name = "Palm tree"
|
|
icon = 'icons/misc/beach2.dmi'
|
|
icon_state = "palm2"
|
|
density = TRUE
|
|
plane = MOB_PLANE
|
|
layer = ABOVE_MOB_LAYER
|
|
anchored = TRUE
|
|
|
|
/obj/effect/overlay/coconut
|
|
name = "Coconuts"
|
|
icon = 'icons/misc/beach.dmi'
|
|
icon_state = "coconuts"
|
|
|
|
/obj/effect/overlay/bluespacify
|
|
name = "Bluespace"
|
|
icon = 'icons/turf/space_vr.dmi' //VOREStation Edit
|
|
icon_state = "bluespacify"
|
|
plane = ABOVE_PLANE
|
|
|
|
/obj/effect/overlay/wallrot
|
|
name = "wallrot"
|
|
desc = "Ick..."
|
|
icon = 'icons/effects/wallrot.dmi'
|
|
anchored = TRUE
|
|
density = TRUE
|
|
plane = MOB_PLANE
|
|
layer = ABOVE_MOB_LAYER
|
|
mouse_opacity = 0
|
|
|
|
/obj/effect/overlay/wallrot/Initialize()
|
|
. = ..()
|
|
pixel_x += rand(-10, 10)
|
|
pixel_y += rand(-10, 10)
|
|
|
|
/obj/effect/overlay/snow
|
|
name = "snow"
|
|
icon = 'icons/turf/overlays.dmi'
|
|
icon_state = "snow"
|
|
anchored = TRUE
|
|
plane = TURF_PLANE
|
|
|
|
// Todo: Add a version that gradually reaccumulates over time by means of alpha transparency. -Spades
|
|
/obj/effect/overlay/snow/attackby(obj/item/W as obj, mob/user as mob)
|
|
if (istype(W, /obj/item/shovel))
|
|
user.visible_message(span_notice("[user] begins to shovel away \the [src]."))
|
|
if(do_after(user, 40))
|
|
to_chat(user, span_notice("You have finished shoveling!"))
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/effect/overlay/snow/floor
|
|
icon_state = "snowfloor"
|
|
plane = TURF_PLANE
|
|
layer = ABOVE_TURF_LAYER
|
|
mouse_opacity = 0 //Don't block underlying tile interactions
|
|
|
|
/obj/effect/overlay/snow/floor/edges
|
|
icon_state = "snow_edges"
|
|
|
|
/obj/effect/overlay/snow/floor/surround
|
|
icon_state = "snow_surround"
|
|
|
|
/obj/effect/overlay/snow/airlock
|
|
icon_state = "snowairlock"
|
|
layer = DOOR_CLOSED_LAYER+0.01
|
|
|
|
/obj/effect/overlay/snow/floor/pointy
|
|
icon_state = "snowfloorpointy"
|
|
|
|
/obj/effect/overlay/snow/wall
|
|
icon_state = "snowwall"
|
|
plane = MOB_PLANE
|
|
layer = ABOVE_MOB_LAYER
|
|
|
|
/obj/effect/overlay/holographic
|
|
mouse_opacity = FALSE
|
|
anchored = TRUE
|
|
plane = ABOVE_PLANE
|
|
|
|
// Similar to the tesla ball but doesn't actually do anything and is purely visual.
|
|
/obj/effect/overlay/energy_ball
|
|
name = "energy ball"
|
|
desc = "An energy ball."
|
|
icon = 'icons/obj/tesla_engine/energy_ball.dmi'
|
|
icon_state = "energy_ball"
|
|
plane = PLANE_LIGHTING_ABOVE
|
|
pixel_x = -32
|
|
pixel_y = -32
|
|
|
|
/obj/effect/overlay/vis
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
anchored = TRUE
|
|
vis_flags = VIS_INHERIT_DIR
|
|
///When detected to be unused it gets set to world.time, after a while it gets removed
|
|
var/unused = 0
|
|
///overlays which go unused for this amount of time get cleaned up
|
|
var/cache_expiration = 2 MINUTES
|
|
|
|
/*
|
|
/obj/effect/overlay/atmos_excited
|
|
name = "excited group"
|
|
icon = null
|
|
icon_state = null
|
|
anchored = TRUE // should only appear in vis_contents, but to be safe
|
|
appearance_flags = RESET_TRANSFORM | TILE_BOUND
|
|
invisibility = INVISIBILITY_ABSTRACT
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
|
|
plane = ATMOS_GROUP_PLANE
|
|
*/
|
|
|
|
/obj/effect/overlay/light_visible
|
|
name = ""
|
|
icon = 'icons/effects/light_overlays/light_32.dmi'
|
|
icon_state = "light"
|
|
plane = PLANE_O_LIGHTING_VISUAL
|
|
appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
alpha = 0
|
|
vis_flags = NONE
|
|
blocks_emissive = FALSE
|
|
|
|
/obj/effect/overlay/light_visible/Destroy(force)
|
|
if(!force)
|
|
stack_trace("Movable light visible mask deleted, but not by our component")
|
|
return QDEL_HINT_LETMELIVE
|
|
return ..()
|
|
|
|
/obj/effect/overlay/light_cone
|
|
name = ""
|
|
icon = 'icons/effects/light_overlays/light_cone.dmi'
|
|
icon_state = "light"
|
|
plane = PLANE_O_LIGHTING_VISUAL
|
|
appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
|
|
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
|
vis_flags = NONE
|
|
alpha = 110
|
|
blocks_emissive = FALSE
|
|
|
|
var/static/matrix/normal_transform
|
|
|
|
/obj/effect/overlay/light_cone/Initialize()
|
|
. = ..()
|
|
apply_standard_transform()
|
|
|
|
/obj/effect/overlay/light_cone/proc/reset_transform(apply_standard)
|
|
transform = initial(transform)
|
|
if(apply_standard)
|
|
apply_standard_transform()
|
|
|
|
/obj/effect/overlay/light_cone/proc/apply_standard_transform()
|
|
transform = transform.Translate(-32, -32)
|
|
|
|
/obj/effect/overlay/light_cone/Destroy(force)
|
|
if(!force)
|
|
stack_trace("Directional light cone deleted, but not by our component")
|
|
return QDEL_HINT_LETMELIVE
|
|
return ..()
|
|
|
|
/obj/effect/overlay/closet_door
|
|
anchored = TRUE
|
|
plane = FLOAT_PLANE
|
|
layer = FLOAT_LAYER
|
|
vis_flags = VIS_INHERIT_ID
|
|
appearance_flags = KEEP_TOGETHER | LONG_GLIDE | PIXEL_SCALE
|