The primary function of this is a new button in the "Preferences" tab -
Set View Range. This functions similarly to the admin verb "Change View
Range", but it only allows you to set view ranges lower than the normal
world.view.
Full changelog:
- Added ViewMods system to clients.
- Everything that wants to change client.view should do it through
this system.
- Currently used by the Set View Range button and Marauders.
- Stretch mode is set to stretch when active, but the original
setting is preserved, as long as you set it with no ViewMods enabled.
- The basic way this works is that it keeps track of /datum/viewmods
on /clients, and whenever one is added or removed, it picks the
highest view range out of all of them and sets the client's vision to
that. This effectively means that, if you, say, set your view range
to 5x5, and get into a Marauder and use the "zoom" button, it will
always go to the marauder's zoom level.
- The HUD is set to minimal mode for any view ranges below
world.view, which means you only get absolutely critical buttons.
- It's set to invisible if you go down to view range 1 or 2,
because the buttons can't fit on the screen at those view
ranges.
- Removed canvas examine option. Just zoom in yourself!
This converts the "Check Known Languages" verb to use a
datum/browser-based UI (as opposed to the plain browse()), and adds a UI
button to most mobtypes to get to the language menu.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
- Refactors action button backend
- Action buttons are no longer checked on Life(), items are responsible
for adding/removing/updating them.
- Item action buttons are no longer a static action_button_name define,
items define actions_types, which is a list of paths.
- Items can now have multiple action buttons.
- This is handled by new arguments to ui_action_click, the first
parameter is the user, the second is the path of the action datum
that was invoked.
- Refactored how internals function
- You may now directly switch internals without breaking anything.
- The internals icon has been updated to be more consistent.
- Added action buttons for jetpacks
- Added action buttons for oxygen tanks
- Uses-based implants now qdel() themselves when they run out of uses.
This is somewhat a buff to traitor implants, but it's such a minor
change. The actual reasoning is so that the action buttons are properly
removed.
- Fixed a bug with the "Boo" spell which resulted in IsAvailable failing
for certain ghosts.
- You can now shift-click on movable HUD elements to reset them to the
proper position (thank fucking christ)