| Latest version | 1.2.1 |
|---|---|
| Minimum Core | |
| Compatible Core | |
| Last updated | 1 year ago |
| Created | 1 year ago |
| Authors |
|
| Languages |
English Spanish |
| Systems | All systems |
| Project source | Project URL |
| License | License URL |
demo.mp4“I never thought forever could be found in fists, blood, and honor... but it was.”
— Kristi Lynn, Forever (If her boyfriend was a Yakuza game main character)
A humble tribute to the Yakuza / Ryu Ga Gotoku series, where storytelling, loyalty, and style collide in unforgettable ways.
Yakuza-fy is a Foundry VTT module that brings that same dramatic flair to your tabletop sessions. Give your characters the entrance they deserve—with full-screen noir visuals, bold declarations, and a cinematic touch.
If you love the Yakuza / Ryu Ga Gotoku as much as I do, buy and play their games!
We now support Foundry V13 with Yakuza-fy. However, the TableMap complement at the moment is not working in V13 as TableMap isn't updated for V13 yet. Support for V13 however implicits a small change in the header button to use Yakuza-fy in V13. As the Journal default sheet in V13 is different from V12, you will need to use the three dots button first to show the Yakuza-fy option. Some systems in V13 do not use the Journal default sheet as their default sheet, such as DnD5e, so those are unaffected by these changes.

Alt+Y by default) to force-close the overlay.Install via the Foundry VTT module manager by providing the manifest URL:
https://raw.githubusercontent.com/WiNG-CoMM/yakuza-fy/refs/heads/main/module.json
Prepare a Journal Entry:
The first page should contain an image.
The page name becomes the character's main title.
The second and third pages' names (if present) appear as subtitles.
Full-process.mp4Use the "Yakuza-fy" button in the Journal Entry header or context menu.
Players will see the overlay appear on their screen.
Clicking closes the overlay. The GM can optionally force-close for others.
Side-menu.mp4
Default closing behaviour is to simply click on the intro. However, as a GM, you might want to automatically close this window for other players too. There are three ways to handle this behaviour:

Ask everytime will prompt the GM for closing other players' intro when the GM closed it:
ask-every-time.mp4Always close will always close it for other players when the GM does so:
always-close.mp4Never close will never close it for other players when the GM does so. The players will have to close it manually by clicking it:
never-close.mp4This will set the permissions for the Journal entry used to Observer to every player automatically:
auto-observer.mp4Additionally, if you have the TableMap module configured, you make check this to override the default auto-close behaviour defined above and always close it for the TableMap when the GM does. This is very useful when you are using a secondary screen as a table map and you do not wish to move your cursor to theç table monitor in order to close it:
tablemap.mp4Yakuzaf-y attempts to make sure the image is displayed in the most cinamatically impacting way, which might include some resizing options. Keep in mind that all image adaptation modes might show empty spaces around your images as, unless you prepare them specifically, they will rarely have the exact dimensions as your screens. Furthermore, different players might have different screen sizes and orientations which would make exact manual prepartions impossible altogether. These options are aimed to overcome such limitations while trying to fill as much screen as possible for extra cinametic flair and honor.
Please, be also aware that whenever you change the size of an image over it's original it will have it's overall quality affected. Small images will never look good if you resize them up aggressively. This module will simply resize them in the same way your browser would do, it does not repaint them based on original input, neither uses AI for rescaling.

This mode makes automatic calculations to display the image as big as possible in the screen. It takes the original image size into consideration and the screen size/orientation to show it, including some slight oversizing while attempting to not cut the image excessively. Some slight cropping might be applied on the edges to provide a better fitting. Take into consideration however that images with transparent backgrounds might seem to be smaller than needed if the non-transparent part has margins around it in the image.
The image will be shown in a way that gives priority to width while adjusting height automatically.
The image will be shown in a way that gives priority to hight while adjusting width automatically.
Will ensure the whole image is shown, as big as possible, without ever cropping or oversizing out of the screen.
If your images still show too small, or too large, you may override the final size calculation and add/remove an extra 25% more/less space. A Scale Factor of 100 indicates the image will remain at 100% of the final calculated size by the Image Adaptation Mode you selected. Give it a try at 105-110% and see how your images pack a bigger punch filling the screen!
GMs can use Alt+Y (default) to force close the overlay for all players. Hotkey can be configured in your Foundry VTT control settings.
Socketlib – Required for communication between clients.
Optional: Table Map – For auto-forced closing on a designated observer player.
You can use the API to trigger the intro from other modules. You will need to provide a YakuzaData structure to the API in order to do so. We provide helper functions to create a YakuzaData structure from a journal entry, journal entry ID or from scratch.
This is the one we use internally when clicking on the buttons:
YakuzaData.createYakuzaDataFromDefaultJournal(journal);
This one is simply a shortcut for the Journal Entry version, so you can use it if you already have the journal ID but do not wish to pass the whole Journal entry object:
YakuzaData.createYakuzaDataFromDefaultJournalId(journalId);
You may define all the data on your own by using the following function:
YakuzaData.createYakuzaData(journalId, image, title, subtitle1, subtitle2);
The only really mandatory data is the image and the title. journalid, subtitle1 and subtitle2 are optional.
Not really. The Journal Entry is used as a way for the user to entry the data for this to work. Since we are using the Journal Entry to get the data, you can use either a Journal Entry or a journalId to trigger the intro. The Journal Entry version is simply a shortcut for the journalId version, so you can use it if you already have the journal ID but do not wish to pass the whole Journal entry object.
But you may opt to use the from scratch version if you do not wish to use a Journal Entry. There is no need to pass a JournalId to this version, as it is optional. The JournalId is only used to assign an observer permission to the journal entry (depending on the configuration options), so you can use it if you wish to do so.
Yes! We are now supporting localization and, as of this version, offering both English and Spanish. Other languages are welcome if you want to contribute them!
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.
If you enjoy using Yakuza-fy and feel that you would like to throw some extra support then consider buying me a coffee! This module is free and will always be free. No support will ever be needed. I do have a job and can afford to pay my bills fortunately. But, in any case, you can do it here if you wish:
To install this package, open your Foundry Setup screen and navigate to your Module tab and click the Install Module button.
From there, you can either search for the package unique name: yakuza-fy or copy its manifest URL:
And paste it to the input box at the bottom of your window.

You can install this package directly to your Forge account.