# FFXIV Vibe Plugin
A plugin for FFXIV that will let you vibe your controller or toys.
## Features
- Easy UI interface.
- Connect your device (manually or automatically).
- Trigger some pattern from chat message.
- Custom chat selection.
- Custom allowed characters.
- Trigger some pattern from spells.
- Custom spell name.
- Custom spell type (damage, heal...).
- Custom spell direction (outgoing, incoming, self).
- Min and/or max dmg/heal values.
- Multiple devices per custom trigger.
- UI to search through your triggers.
- Delay start and stop patterns.
- Custom device and motors.
- Using RegExp for chat messages and spell names.
- Define global threshold or threshold per motor.
- Displaying battery life of devices.
- Custom patterns per motor (save, with easy import, export).
- Vibe or trigger a pattern on HP Changed
- HP Changed can have custom min/max values or percentages
- Export/Import triggers
## Prerequisites
- [FFXIV QuickLauncher](https://github.com/goatcorp/FFXIVQuickLauncher).
- [Intiface Desktop](https://github.com/intiface/intiface-desktop) (DON'T USE THE INTIFACE CENTRAL)
## Installation
1. Launch your game, open `/xlplugins`, go to the settings (bottom left) and in the `Experimental` tab.
2. Under `Custom Plugin Repositories` add the following url `https://raw.githubusercontent.com/kaciexx/FFXIV_Vibe_Plugin/master/repo.json` and press the + icon.
3. Press the `Save and close` button on the bottom left.
Now you should be able to see `FFXIV Vibe Plugin`. Click install and enjoy.
## How to use
1. Start `Intiface` and click on `Start Server`. Power on your device, make sure it is connected to Intiface.
2. In the game. Type: `/fvp`. You should see the configuration panel.
3. Press the `Connect` button.
Well done !
You have now FFXIV connected to Intiface. Now you can connect your device to Intiface and you
should be able to use them with FFXIV Vibe Plugin.
![ingame](./Docs/screenshot.png)
## Our TODO
Our current ideas and feedbacks are in: [TODO List](./Docs/TODO.md)
A **profile selector (in game)** is scheduled to be developed. But since the
begining of this project (28 Apr 2020), we have only reached a donation marker of
20$. After so much effort, this plugin is not our priority anymore since we can
not make a living from it.
## Build yourself
You can build yourself, instructions are here: [Build yourself](./Docs/BUILD.md)o
## Import triggers
1. Start the game and make sure the plugin is working.
2. On your computer, go to your `%userprofile%` folder (eg: C:\\Users\\) folder.
3. The go in the `FFXIV\_Vibe\_Plugin` folder (or create if it does not exists)
4. Add the triggers file you want to import (eg: `MyTrigger.json`)
5. In the plugin go to the `Triggers` tab and click on `Import Triggers` at the bottom.
That's it. It should load all of the triggers.
Note: you can define a custom directory to read/write in the `Options` tab.
## Export triggers
1. On your computre, go to your `%userprofile%` folder (eg: C:\\Users\\) folder.
2. Go to the `FFXIV\_Vibe\_Plugin` folder (or create if it does not exists)
3. In the plugin, go to the `Triggers` tab.
4. Create your triggers (if they does not exist).
5. Select the trigger you want to export and click on the `Export` button.
That's it. You should see them in your userprofile directory.
Note: you can define a custom directory to read/write in the `Options` tab.
## USB Dongle vs Lovense Dongle vs Other
We recommend you to use a bluetooth dongle. Here is the one we are using: [TP-Link Nano USB Dongle Bluetooth 5.0](https://www.amazon.fr/gp/product/B09C25VRXD/ref=as_li_tl?ie=UTF8&camp=1642&creative=6746&creativeASIN=B09C25VRXD&linkCode=as2&tag=kaciexx-21&linkId=8b6c8c6e693ab549216c2dacad34e03b)
## Tested devices
- Microsoft XBox Controller
- Lovense (*please use bluetooth and not the lovense dongle*):
Nora, Hush, Domi, Ferri, Diamo, Edge 2, Gush
## FAQ
### Troubleshooting
Make sure you have the [intiface-desktop](https://github.com/intiface/intiface-desktop) and not the new Intiface Central.
1. Make sure your toy is not connected to another device (eg: your phone, your browser...). Disable the bluetooth on your phone.
2. Make sure the addon is correctly installed (check the installation process again).
3. Make sure you have the latest version.
4. Upgrade your Intiface by clicking and installing any updates (`Settings` tab).
5. Make sure the Intiface is up and running. Go to `Server status` > `Start Server`. You must have one green icon and one red icon on the top right side of the window.
6. Ingame, make sure the addon is connected to Intiface. Click on `connect` (in the `Connect` tab). Now, go back to Intiface. You should have 2 green icons on the top right side of the window.
7. Ingame, make sure the IP is either `127.0.0.1` or `0.0.0.0` or your real internal IP (eg: 192.168.1.250)
8. Ingame and on Intiface: make sure you are using the same `port` **on both sides**. You can try changing it to something
else **on both sides**.
### My device is not working correctly
Please make sure to test both Bluetooth and the dongle of the device. Choose the one that works best for you.
### My X-Box Controller is not working well
This is not related to this plugin. You probably should not use Bluetooth.
### My Lovense Nora is not doing rotations
Please stop using Lovense Dongle. Connect using the Lovense Connect or bluetooth. If you don't have bluetooth
please buy a bluetooth 5.0 dongle on amazon for 20$.
### The plugin does not connect to Intiface
Please make sure you are doing it right.
Make sure you have the [intiface-desktop](https://github.com/intiface/intiface-desktop) and not the new Intiface Central.
1. Open Intiface and click on the top right side **red** icon.
2. Uncheck everything but not *WebSocket* and *Bluetooth*. WebSocket should have the following text: "on [All Interfaces]:12345"
3. Click on Start Server (now you should have one *green* icon and one *red* icon on the top right side).
4. Go to the plugin and click connect (you should have two *green* icons).
If this is not working: please try change the IP Address to 127.0.0.1 or your computer IP Address. Also make sure the port
is 12345 or correspond to the one in Intiface.
### The device disconnect every now and then.
Please make sure to follow those steps before asking for help:
1. Disable all triggers.
2. Create a new and very simple trigger (eg: vibration on a message). **Make sure it is correctly working**.
3. Wait twice the amount of time needed to have the issue again. (eg: if it was around 30min, then wait 60min or more).
If it works, then it's a trigger issue from one you have created. If not:
1. **Don't stop** the game, **don't stop** Intiface.
2. Turn **off and on** your controller device.
3. Let it reconnect to intiface (without restarting intiface app).
4. Test your trigger again.
If it works, then it probably a bluetooth issue. Nothing we can do about.
### How do I share my configuration
You can copy/past the file located at: `%AppData%\XIVLauncher\pluginConfigs\FFXIV_Vibe_Plugin.json`.
Be aware: this will overrides everything.