Code Monkey home page Code Monkey logo

splatoon's Introduction

Splatoon for FFXIV

Splatoon plugin allows you to put infinite amount of waymarks in the world of different size, colors, allows to add custom text to them as well.

Install

Dalamud repository:

https://raw.githubusercontent.com/Eternita-S/MyDalamudPlugins/main/pluginmaster.json

Detailed instructions available here: https://github.com/Eternita-S/MyDalamudPlugins

Feature overview

Circles at fixed coordinates

Create circles, dots or simple labels at fixed coordinates anywhere in the world. Add some text to them, configure their color, thickness and other options as you wish.

Circles relative to object position

Same stuff as above, but relative to any targeted enemy, yourself or any object selected by it's name. Display range of your ability, enemy's hitbox, easily track and locate aether currents, highlight NPCs that are difficult to find, mark your friend to easily find them in crowded RP places or highlight your partner in a raid mechanic.

Lines between fixed coordinates

Visually split an arena into sectors to make navigation easier

Lines relative to object position

With rotation support! Display line mechanics such as Fatebreaker's Burnt strike, display area of your machinist's or bard's AoE, draw an arrow above your character to never lose it in crowded places.

Designed to be robust and withstand updates

Failsafe mode ensures that Splatoon will be ready to use as soon as Dalamud is updated to be used in current game's patch. Some features might be disabled if game updated functions that Splatoon uses, but core stuff will be always available for use. Additionally, Splatoon will always be developed with intent to never break old version's configs.

Exporting and importing element sets

Easily share your layouts with friends or communities. All settings will be preserved!

Zone, job lock, various display conditions

Any set of elements may be set to be displayed only in specified zones, only when using specified jobs, only in combat, duty, etc.

Tether to an object

You can enable tether feature for any element you create, which will draw a line between object and your position, allowing for even easier location of an object

Distance limit

Any set of elements supports limiting drawing distance by either measuring distance to element itself or distance to current target

Splatoon Find

Quickly find that annoying to find NPC or quest target without needing to create an element for it by utilising /sf <partial name> command. Auto-resets on zone change.

Triggers

Any set of elements supports simple triggers. You can show/hide sets based on certain combat time or based on any boss phrase to avoid screen clutter. Display your waymarks when you actually need them.

Web API

Splatoon can be extrenally controlled by utilizing web API. You can find detailed description below. Integrade it with Cactbot or Triggernometry and create interactive visual fight guide right in game!

Command control

Splatoon supports controlling elements via commands.

  • /splatoon enable <layout> - enables layout
  • /splatoon disable <layout> - disables layout
  • /splatoon enable <layout>~<element> - enables element inside layout
  • /splatoon disable <layout>~<element> - disables element inside layout
  • /splatoon settarget <layout>~<element> - if element is Circle/line relative to object position, and selected object is an Object with specified name, sets the name of the object to currently targeted object

Backup system

Automatic backup system will ensure that you always can rollback if your config became corrupted or you have accidentally deleted something important.

WARNING!

This project is in beta test.

  • Expect bugs! But critical bugs that could potentially break/crash the game should be fixed by now.
  • Always keep backup of your configuration! Plugin will do backups for you now!
  • Gui sucks, I'll do something with it later (never)

Web API (beta)

Splatoon now supports web API to remotely manage layouts and elements. Request http://127.0.0.1:47774/ with parameters specified in table. I'm actively accepting suggestions about web API. Note: params are QueryString params, not JSON

Parameter Usage
enable Comma-separated names of already existing in Splatoon layouts or elements that you want to enable. If you want to enable layout simply pass it's name, if you want to enable specific element, use layoutName~elementName pattern.
disable Same as enable, but will disable elements instead
Note: disabling always done before enabling. You can pass both parameters in one request. For example you can pass all known elements in disable parameter to clean up display, and then enable only ones that are currently needed. Passing same name of element in both enable and disable parameters will always result in element being enabled.
elements Directly transfer encoded element into Splatoon without need of any preconfiguration from inside plugin. They are temporary and will not be stored by Splatoon between restarts.
  • To obtain encoded layout/element, press Copy as HTTP param button inside Splatoon plugin. These buttons are located inside every layout and element.
  • Multiple comma-separated values allowed.
  • Can contain layouts and elements at the same time. To obtain layout/element code, use appropriate button inside Splatoon configuration after setting them up.
  • If you are exporting layout, it's display conditions, zone/job lock, etc are preserved. If you are exporting element, no display conditions and locks will be attached to it. You do not need to enable layouts/elements before exporting, it will be done automatically.
namespace Add elements to specific named namespace instead of default one. If you are not using destroyAt parameter, always specify namespace so you can destroy element manually later. This will apply to all layouts/elements passed in current request. Namespaces are not unique: you can reuse same namespace in further queries to add more layouts/elements to a single namespace.
destroyAt Passing this parameter let you specify when layouts/elements you have defined in request should be destroyed automatically by Splatoon. This parameter can take the following values:
  • NEVER or 0 - do not use auto-destroy. This is default value.
  • COMBAT_EXIT - destroy layouts/elements next time player exits combat.
  • TERRITORY_CHANGE - destroy layouts/elements next time player changes territory (enters/exits dungeon, for example)
  • Numeric value greater than 0 - destroy layouts/elements after this much milliseconds have passed.
This will apply to all layouts/elements passed in current request. You can send multiple comma-separated values, as soon as any specified condition is met, elements will be removed.
destroy Comma-separated namespaces that will be destroyed. All elements that were added under namespace you specified will be destroyed at once. Destruction is always processed before addition of new layouts/elements, so if you want to clear your namespace from possible remainings from previous additions, just pass it's name in destroy parameter as well.
raw By default you have to pass layouts/elements in encoded format. However that makes it difficult to edit from outside of Splatoon. Should you require this possibility - hold CTRL while copying layout/element from Splatoon to obtain it in urlencoded JSON format to which you can easily make changes and then pass it to raw parameter in your query. Only one raw layout/element can be passed in a single query, but you can freely pass encoded and raw at the same time.
In addition to all this, you may send element/layout inside POST request body in raw, non-encoded format. To get pretty-printed json of layout/element, hold ALT while pressing "Copy as HTTP param" button. Only one layout/element per query in the body is allowed.
There is no difference between sending everything in one query and sending one layout/element per query. It also doesn't matters if you want to primarily use encoded or raw format. Just do it as you personally prefer.

Examples for Triggernometry

Show standard/technical step radius while dancing: https://gist.github.com/Eternita-S/8788c387bfc5fcfd76499ef4e46d37d9

splatoon's People

Contributors

limiana avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.