SPLURT Station 13 - Modules - TypesVar Details - Proc Details

field_of_vision

Field of Vision component. Does totally what you probably think it does, ergo preventing players from seeing what's behind them.

Vars

adj_maskA circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. The owner mask is still required for those mob going over the default 32x32 px size btw.
angleHow much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.
current_fov_sizeThe current screen size this field of vision is meant to fit for.
fovThat special invisible, almost neigh indestructible movable that holds both shadow cone mask and image and follows the player around.
nested_locsA list of nested locations the mob is in, to ensure the above image works correctly.
owner_maskAn image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.
rot_scaleUsed to scale the shadow cone when rotating it to fit over the edges of the screen.
shadow_angleThe inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.
shadow_maskThe mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.
visual_shadowThe visual portion of the cone, placed on the highest layer of the wall plane
width_n_height_offsetsA static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, and that gives us some problems when the icon is larger or smaller than world.icon_size

Procs

generate_fov_holderGenerates the holder and images (if not generated yet) and adds them to client.images. Run when the component is registered to a player mob, or upon login.
hide_fovHides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.
manual_centered_render_sourceA hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...
on_change_viewCalled when the client view size is changed.
on_loc_movedPretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).
on_mob_movedCalled when the owner mob moves around. Used to keep shadow located right behind us, As well as modify the owner mask to match the topmost item.
on_reset_perspectiveHides the shadow when looking through other items, shows it otherwise.
resize_fovResizes the shadow to match the current screen size. Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.
rotate_shadow_coneRotates the shadow cone to a certain degree. Backend shenanigans.
show_fovShows the shadow. Called when the mob is revived.

Var Details

adj_mask

A circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. The owner mask is still required for those mob going over the default 32x32 px size btw.

angle

How much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.

current_fov_size

The current screen size this field of vision is meant to fit for.

fov

That special invisible, almost neigh indestructible movable that holds both shadow cone mask and image and follows the player around.

nested_locs

A list of nested locations the mob is in, to ensure the above image works correctly.

owner_mask

An image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.

rot_scale

Used to scale the shadow cone when rotating it to fit over the edges of the screen.

shadow_angle

The inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.

shadow_mask

The mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.

visual_shadow

The visual portion of the cone, placed on the highest layer of the wall plane

width_n_height_offsets

A static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, and that gives us some problems when the icon is larger or smaller than world.icon_size

Proc Details

generate_fov_holder

Generates the holder and images (if not generated yet) and adds them to client.images. Run when the component is registered to a player mob, or upon login.

hide_fov

Hides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.

manual_centered_render_source

A hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...

on_change_view

Called when the client view size is changed.

on_loc_moved

Pretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).

on_mob_moved

Called when the owner mob moves around. Used to keep shadow located right behind us, As well as modify the owner mask to match the topmost item.

on_reset_perspective

Hides the shadow when looking through other items, shows it otherwise.

resize_fov

Resizes the shadow to match the current screen size. Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.

rotate_shadow_cone

Rotates the shadow cone to a certain degree. Backend shenanigans.

show_fov

Shows the shadow. Called when the mob is revived.