## About The Pull Request
This mostly just refactors the book `attackby(...)` proc into
`item_interaction(...)`, with some side-effects and screentips.
Notable ones follow here:
We move carving away from combat mode, and instead based it on whether
our tool is a pure writing utensil, a pure carving tool, or both at once
like the captain's fountain pen. If it's a pure tool, both left click
and right click are its respective primary action. If it's both,
however, left click is vandalizing and right click is carving.
This tries to ensure the expected primary interaction is always
left-click, without blocking anything if it could do both.
We move the barcode scanner interaction to the barcode scanner instead.
There's no good reason for this to stay on the book itself.
We add `can_vandalize(...)` as a proc and move all checks in there, so
we can call it after every tgui input. We don't replace the
`to_chat(...)` calls here with balloon alerts because the additional
clarifying info is needed, and it keeps the 'soulful' blind message.
We add `get_attack_self_context(...)` as a proc for getting screentips
on hovering over it in your active hand, because both the bible subtype
and the syndicate bible _bible subtype_ want different screentips there
in different situations, and so while it's clunky it's much less clunky
than the alternatives I considered.
Making it use actual storage datums avoids subtypes needing to make
manual changes to it in the `carve_out(...)` proc, and is just good for
organization.
This doesn't add screentips to most bible-specific interactions, as I
deemed them outside of the scope of this pr.
Those are better off done atomized into another pr.
## Why It's Good For The Game
less attackby, more item interaction
screentips good
I think having the carving interaction on combat mode is unintuitive,
especially when that's the only interaction it can do.
This ensures the expected primary interaction is always left-click.
## Changelog
🆑
refactor: Refactored the book interaction chain. Please report any
issues.
fix: You can no longer vandalize carved out books if you carve it after
opening the input menu but before entering anything.
qol: Added screentips to book interactions.
qol: Added screentips to barcode scanner interactions.
qol: Carving out books no longer uses combat mode, instead using
left-click by default and right-click if your tool can also write.
Screentips account for this.
/🆑
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
* Barcode scanners can now be printed. (#81324)
## About The Pull Request
Currently the only way to get a barcode scanner is by spawning as a
Curator, this is lame and prevents people to job change into a
librarian, so now it can be printed like basically all other service
job's tools.
Part of computer tech

## Why It's Good For The Game
You no longer have to spawn as a Curator to be able to work in the
Library, and Curators can now replace their otherwise completely
irreplaceable equipment.
## Changelog
🆑
qol: The barcode scanner is now part of computer tech and can be printed
at the service techfab.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Barcode scanners can now be printed.
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Library barcode scanner resprite & unique sound effects (#76182)
## About The Pull Request
Resprites the barcode scanner & adds unique sounds for switching modes &
scanning books
## Why It's Good For The Game
This Pr was a labor of love. I love playing curator and thought the
scanner could use some sounds and then thought it could benefit from a
new sprite
## Changelog
🆑
sound: Adds unique sounds to library barcode scanner
image: Removes soul from library
/🆑https://github.com/tgstation/tgstation/assets/97811257/3ee693a4-7a75-46c5-aa58-66a870e83357
* Library barcode scanner resprite & unique sound effects
---------
Co-authored-by: kate <97811257+winterboekje@users.noreply.github.com>
* Improves some confusing aspects of the Library (#75781)
## About The Pull Request
The barcode scanner now uses balloon alerts and only has 2 modes: check
in and add to inventory. It used to have 4, 2 of which were useless.
Added a title and author to chuuni granter so it's not broken to the
Curator's console. Moves inventory ui data stuff to ui static data so we
can reference it in checkout, which now uses a dropdown list of all
books in checkout, instead of having you fill out the name of the book
yourself.
Removes sending things to a computer by scanning a book then connecting
it to a computer. Just connect it to a computer first, there's no need
for this copy and paste stuff.
Finally, lets the book bag hold posters, since the Curator prints them
and it would be nice if they can also carry them without filling a bag.
Video was taken before the balloon alert stuff so just ignore that part
https://github.com/tgstation/tgstation/assets/53777086/e78011af-fb23-4553-a92d-f3dcc8bb5601
## Why It's Good For The Game
The library is currently very confusing for new people to figure out, I
thought this might be able to help with that.
The dropdown in the UI now means it's easier to give out books in
inventory, and you can no longer just type whatever the hell you wanted.
## Changelog
🆑
qol: The Curator's barcode scanner has been simplified into 2 modes:
check-in and add to inventory.
qol: The Book bag can now hold posters.
ui: The library console can now lend books out easier with a dropdown
menu to all inventory books.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Improves some confusing aspects of the Library
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>