Package Description

Automated Evocations

A user interface to manage companions with summoning animations and automated summoning for spells

 alt-text alt-text

How to use

Companion Manager

Open any character sheet, in the header of the window you will see the companions button image

Upon opening you will be welcomed by a window, from here you can drag and drop actor into it to add them.

After adding actor to the window you will have some options:

  • To summon click on the actor image, you will get a placement croshair, just click where you want to summon the token
  • The number field represents how many tokens you will spawn
  • The dropdown will let you chose the summoning animation

image

Custom Macros (requires the Advanced Macro Module)

You can assign cusom macros to specific actors

  1. Create a macro with this exact name AE_Companion_Macro(ActorName) eg. AE_Companion_Macro(Bat), this will get fired any time a creature with that name is summoned
  2. Add code for the custom data, in the context of the macro args[0] contains the following data:

summon: the actor that's getting summoned

spellLevel: the level of the spell that triggered the summoning (requires midiqol)

duplicates: how many creatures are getting summoned

assignedActor: the actor assigned to the player doing the summoning (this will be the selected token actor if no assigned actor is found, this is always the case for GMs)

The macro must return the custom data.

Example (Arcane Hand auto scaling)

Macro name: AE_Companion_Macro(Arcane Hand)

return {
  item: {
    "Clenched Fist": {
      "data.attackBonus": args[0].assignedActor?.data.data.attributes.spelldc-8+args[0].assignedActor?.data.data.bonuses.msak.attack,
      "data.damage.parts":[[`${((args[0].spellLevel || 5)-5)*2+4}d8`,"force"]]
    },
    "Grasping Hand":{
      "data.damage.parts":[[`${((args[0].spellLevel || 5)-5)*2+4}d6 + ${args[0].assignedActor?.data.data.abilities[args[0].assignedActor?.data.data.attributes.spellcasting]?.mod || ""}`,"bludgeoning"]]
    }
  }
}

Every time an actor named Arcane Hand is summoned, the custom data will be applied

Supported spells (automated)

The ever expanding list of spells currently includes: All the SRD spells for dnd5e, if something is missing let me know

Custom \ non-SRD spells(ADVANCED)

To add your own settings, you can merge your own configs to the default one. For the data structure please check game.automatedevocations.dnd5e in the console (or equivalent for your system.

Once you built the object you wanna merge, simply save it to the hidden game setting game.settings.get(AECONSTS.MN, "customautospells", yourData)

Example:

const data = {
  "Giant Insect":[
    {
      creature: "Giant Centipede",
      number: 10,
    },
    {
      creature: "Giant Spider",
      number: 3,
    },
    {
      creature: "Giant Wasp",
      number: 5,
    },
    {
      creature: "Giant Scorpion",
      number: 1,
    },
  ]
}
game.settings.get(AECONSTS.MN, "customautospells", data)

The custom creature can also be a function, Example:

const data = {
  "Conjure Animals": (data) => {
    let multiplier = 1;
    if (data.level >= 5) multiplier = 2;
    if (data.level >= 7) multiplier = 3; 
    let beasts = game.actors
      .filter(
        (a) =>
          a.data.data.details.type?.value == "beast" &&
          a.data.data.details.cr <= 2
      )
      .sort((a, b) => {
        return a.data.data.details.cr < b.data.data.details.cr ? 1 : -1;
      });
    let creatures = [];
    for (let beast of beasts) {
      let number = 1;
      const cr = beast.data.data.details.cr;
      if(cr==2) number = 1;
      else if(cr==1) number = 2;
      else if(cr==0.5) number = 4;
      else if(cr<=0.25) number = 8;
      creatures.push({
        creature: beast.name,
        number: number*multiplier,
      });
    }
    return creatures;
  }
}
game.settings.get(AECONSTS.MN, "customautospells", data)

contributions to this list are very welcome, contact me via discord or open a PR to add to the list

Credits \ License

Jack Kerouac's

The included assets are from Jack Kerouac's amazing https://github.com/jackkerouac/animated-spell-effects-cartoon module. (used with permission)

Sequencer

This module is used to play the animations https://github.com/fantasycalendar/FoundryVTT-Sequencer

Warpgate

This module is used for the spawning https://github.com/trioderegion/warpgate

Game Icons

Some images used are from https://game-icons.net/

Tagged Categories

  1. Automation Enhancers
  2. Combat Enhancements
  3. Overhauls or Feature Suites
  4. Visual Effects

Available Versions

  1. Version 1.4.1

  2. Version 1.4.5

  3. Version 1.4.6