/obj/effect/overlay name = "overlay" unacidable = 1 var/i_attached//Added for possible image attachments to objects. For hallucinations and the like. /obj/effect/overlay/singularity_act() return /obj/effect/overlay/singularity_pull() return /obj/effect/overlay/beam//Not actually a projectile, just an effect. name="beam" icon='icons/effects/beam.dmi' icon_state="b_beam" var/tmp/atom/BeamSource New() ..() spawn(10) qdel(src) /obj/effect/overlay/palmtree_r name = "Palm tree" icon = 'icons/misc/beach2.dmi' icon_state = "palm1" density = 1 layer = 5 anchored = 1 /obj/effect/overlay/palmtree_l name = "Palm tree" icon = 'icons/misc/beach2.dmi' icon_state = "palm2" density = 1 layer = 5 anchored = 1 /obj/effect/overlay/coconut name = "Coconuts" icon = 'icons/misc/beach.dmi' icon_state = "coconuts" /obj/effect/overlay/adminoverlay name = "adminoverlay" icon = 'icons/effects/effects.dmi' icon_state = "admin" layer = 4.1 /obj/effect/overlay/temp anchored = 1 layer = 4.1 mouse_opacity = 0 var/duration = 10 var/randomdir = 1 /obj/effect/overlay/temp/New() if(randomdir) dir = pick(cardinal) flick("[icon_state]", src) //Because we might be pulling it from a pool, flick whatever icon it uses so it starts at the start of the icon's animation. spawn(duration) qdel(src) /obj/effect/overlay/temp/revenant name = "spooky lights" icon = 'icons/effects/effects.dmi' icon_state = "purplesparkles" /obj/effect/overlay/temp/revenant/cracks name = "glowing cracks" icon_state = "purplecrack" duration = 6 /obj/effect/overlay/temp/guardian randomdir = 0 /obj/effect/overlay/temp/guardian/phase duration = 5 icon_state = "phasein" /obj/effect/overlay/temp/guardian/phase/out icon_state = "phaseout" /obj/effect/overlay/temp/emp name = "emp sparks" icon = 'icons/effects/effects.dmi' icon_state = "empdisable" /obj/effect/overlay/temp/emp/pulse name = "emp pulse" icon_state = "emppulse" duration = 8 randomdir = 0 /obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed name = "healing glow" icon = 'icons/effects/effects.dmi' icon_state = "heal" duration = 15 /obj/effect/overlay/temp/heal/New(loc, colour) ..() pixel_x = rand(-12, 12) pixel_y = rand(-9, 0) if(colour) color = colour /obj/effect/overlay/temp/kinetic_blast name = "kinetic explosion" icon = 'icons/obj/projectiles.dmi' icon_state = "kinetic_blast" layer = 4.1 duration = 4 /obj/effect/overlay/temp/explosion name = "explosion" icon = 'icons/effects/96x96.dmi' icon_state = "explosion" pixel_x = -32 pixel_y = -32 duration = 8 /obj/effect/overlay/temp/explosion/fast icon_state = "explosionfast" duration = 4 /obj/effect/overlay/temp/decoy desc = "It's a decoy!" duration = 15 /obj/effect/overlay/temp/decoy/New(loc, atom/mimiced_atom) ..() alpha = initial(alpha) if(mimiced_atom) name = mimiced_atom.name appearance = mimiced_atom.appearance dir = mimiced_atom.dir mouse_opacity = 0 /obj/effect/overlay/temp/decoy/fading/New(loc, atom/mimiced_atom) ..() animate(src, alpha = 0, time = duration) /obj/effect/overlay/temp/cult icon = 'icons/effects/effects.dmi' randomdir = 0 duration = 10 /obj/effect/overlay/temp/cult/sparks randomdir = 1 name = "blood sparks" icon_state = "bloodsparkles" /obj/effect/overlay/temp/dir_setting randomdir = FALSE /obj/effect/overlay/temp/dir_setting/New(loc, set_dir) if(set_dir) dir = set_dir ..() /obj/effect/overlay/temp/dir_setting/bloodsplatter icon = 'icons/effects/blood.dmi' duration = 5 randomdir = FALSE layer = MOB_LAYER - 0.1 var/splatter_type = "splatter" /obj/effect/overlay/temp/dir_setting/bloodsplatter/New(loc, set_dir) if(set_dir in diagonals) icon_state = "[splatter_type][pick(1, 2, 6)]" else icon_state = "[splatter_type][pick(3, 4, 5)]" ..() var/target_pixel_x = 0 var/target_pixel_y = 0 switch(set_dir) if(NORTH) target_pixel_y = 16 if(SOUTH) target_pixel_y = -16 layer = MOB_LAYER + 0.1 if(EAST) target_pixel_x = 16 if(WEST) target_pixel_x = -16 if(NORTHEAST) target_pixel_x = 16 target_pixel_y = 16 if(NORTHWEST) target_pixel_x = -16 target_pixel_y = 16 if(SOUTHEAST) target_pixel_x = 16 target_pixel_y = -16 layer = MOB_LAYER + 0.1 if(SOUTHWEST) target_pixel_x = -16 target_pixel_y = -16 layer = MOB_LAYER + 0.1 animate(src, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = duration) /obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter splatter_type = "xsplatter" /obj/effect/overlay/wall_rot name = "Wallrot" desc = "Ick..." icon = 'icons/effects/wallrot.dmi' anchored = 1 density = 1 layer = 5 mouse_opacity = 0 /obj/effect/overlay/wall_rot/New() ..() pixel_x += rand(-10, 10) pixel_y += rand(-10, 10) /obj/effect/overlay/temp/cult randomdir = 0 duration = 10 icon = 'icons/effects/effects.dmi' /obj/effect/overlay/temp/cult/sparks randomdir = 1 name = "blood sparks" icon_state = "bloodsparkles" /obj/effect/overlay/temp/cult/phase name = "phase glow" duration = 7 icon_state = "cultin" /obj/effect/overlay/temp/cult/phase/New(loc, set_dir) ..() if(set_dir) dir = set_dir /obj/effect/overlay/temp/cult/phase/out icon_state = "cultout" /obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed name = "healing glow" icon = 'icons/effects/effects.dmi' icon_state = "heal" duration = 15 /obj/effect/overlay/temp/heal/New(loc, colour) ..() pixel_x = rand(-12, 12) pixel_y = rand(-9, 0) if(colour) color = colour /obj/effect/overlay/temp/cult/sac name = "maw of Nar-Sie" icon_state = "sacconsume" /obj/effect/overlay/temp/cult/door name = "unholy glow" icon_state = "doorglow" layer = 3.17 //above closed doors /obj/effect/overlay/temp/cult/door/unruned icon_state = "unruneddoorglow" /obj/effect/overlay/temp/cult/turf name = "unholy glow" icon_state = "wallglow" layer = TURF_LAYER + 0.07 /obj/effect/overlay/temp/cult/turf/open/floor icon_state = "floorglow" duration = 5