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_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 |
Procs | |
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. |
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.