dewwwww155 downloadsAnimated spell areas, walls, light and darkness on Atlas VTT maps, with JB2A's free animations built in. Cast from Atlas statblocks.
Atlas now draws spell areas itself: kept measurements with a Fire, Frost, Lightning, Mist, Radiance or Shadow look, light or darkness, and auras that follow a token. Atlas also rings and counts the tokens inside, and stops areas at walls. This add-on builds on those areas rather than replacing them. Your spells become Atlas's own areas, so they show on the map, the player view and Atlas Online like any other. On top of that, it adds:
Turn off Spells as Atlas areas in the settings and the add-on draws spells on its own, as it did before Atlas 0.15.
A community add-on for Atlas VTT. It is not made, endorsed or supported by Atlas VTT, Atlas Online or JB2A.
Settings → Community plugins → Browse → search Spell Effects → Install → Enable. Then open an Atlas map: ✨ is in Atlas's toolbar.
raw.githubusercontent.com/Jules-Bens-Aa/JB2A_DnD5e). That happens when you first use an animation, when its
preview picture shows in the cast window, or when you press Download everything. Turn Offer every JB2A
animation off in the settings and it fetches nothing at all. No tracking, no accounts, nothing sent anywhere.JB2A_DnD5e). Save writes effect-… properties onto that spell's note (and Delete takes them off
again). A spell of your own (Save as new…) gets a note, and a Base, in its own folder (Spell Storage);
Delete puts that note in Obsidian's bin. It never deletes or changes anything else.JB2A_DnD5e, which you can change), so after that it works offline..webm (best: video with see-through background), .gif, .webp or .png files in a
folder called Spell Effects (or pick folders in the settings). Name them after the spell ("Moonbeam.webm")
and they're picked for it.Credit: JB2A — Jules & Ben's Animated Assets (free pack), by Jules, Ben, gazkhan and wassily, licensed CC BY-NC-SA 4.0. A credit and licence note is saved beside the downloaded files. Support them on Patreon for the full pack. Because of their licence, this add-on is and stays free.
The add-on finds your spells through Obsidian Bases: every note a Base shows is a spell it can cast. Its area, light and walls are read from the note's text (and from "Range:" and "Duration:" lines). It works like picking loot bases in Atlas.
Turn Bases on. Settings → Core plugins → Bases (it's on by default in Obsidian 1.10 and later).
Have your spells as notes, one note per spell, with the spell's text in the note (the bit that says
"20-foot-radius sphere", "60-foot cone", "Duration: Concentration, up to 10 minutes"…). Imported compendium
pages, a 5e.tools or Plutonium export, or your own homebrew notes all work. Properties aren't needed, but
level and school help.
Make a Base that shows them. Right-click the folder your spells are in → New base. Or use the command
palette: Bases: Create new base. Give it a name, for example Spells.base.
Filter it to your spells. Open the Base, click Filter and add one that matches only spell notes, for example:
file.inFolder("Compendium/Spells");file.hasTag("spell");level is not empty.The table should now list your spells and nothing else. A Base made by right-clicking a folder already has the folder filter.
Pick it in the add-on. Settings → Atlas Spell Effects → Spell bases: start typing the Base's name and pick it. The line under it says how many notes it found (for example "312 notes"). "Bases is off" means step 1, and "Not found" means the Base was moved or renamed.
Check it. Open ✨ → Cast a spell effect…. Your spells are listed, and the ones whose text names an area are under Spells with an area. Search for any of them by name.
Good to know:
school and a level, or that have a spell tag, are still
found. Turn Also find spell notes anywhere off to use only your Bases.effect-… columns (below) to your Base's table to see and change every saved spell in one
place.Set a spell up as you like it in the cast window (its area, animation, colours, light, walls), then:
effect-… properties. Nothing else in
the note is touched, and no copies are made. Save changes updates it.effect-… properties come off and the rest of the note stays, so the spell is cast from its
text again.Saved spells are listed first in the cast window, under Saved spells (★). Presets from versions before 1.4 become saved spells of their own automatically, still in ✨'s menu.
| Property | What it does | Example |
|---|---|---|
effect-area |
sphere radius, emanation (around the caster), cone, cube, line, wall |
radius |
effect-size |
radius / side / length in feet | 15 |
effect-width |
a line's width, or a wall's thickness, in feet | 5 |
effect-origin |
point or caster (spheres and cubes) |
point |
effect-lasting |
stays until ended | true |
effect-attach |
follows the caster's token | true |
effect-animation |
the animation file | [[Darkness_01_Black_600x600.webm]] |
effect-colour |
colour for a drawn effect (its heart) | #6a3cff |
effect-colour-outer |
a drawn effect's edge colour | #2a0f7a |
effect-opacity |
how see-through, from 0 to 1 | 0.8 |
effect-angle |
a cone's angle in degrees | 90 |
effect-ring |
a wall's ring form: its diameter in feet | 20 |
effect-round |
make the wall as that ring | true |
effect-walls |
a wall's real Atlas walls: none, sight, movement or solid |
sight |
effect-light |
light, darkness or none |
darkness |
effect-bright / effect-dim |
the light's bright and dim range in feet | 20 / 40 |
effect-light-colour |
the light's colour | #ffd28a |
effect-menu |
in ✨'s menu | true |
image (or effect-image) |
card art, shown in the cast window | [[Darkness card.png]] |
Notes saved by older versions (plain area, size… and a spell-effect tag) still work. They move to the new
properties the next time you save them.
✨ in Atlas's main toolbar (or Ctrl+P → Cast a spell effect…):
Snap to grid (✨'s menu, the cast and edit windows, or Ctrl+P → "Snap effects to the grid on or off"): spheres and cubes centre on grid corners, cones and lines start from one when placed on empty ground, and Shift- turning goes in 15° steps. Hold Alt to do the other for one placing or drag. Auras around a creature stay centred on it.
Wall spells (Wall of Fire, Wall of Stone, Blade Barrier, Wind Wall and the like) are drawn on the map.
Lasting effects can give off real Atlas light, or spread Atlas's magical darkness, so your scene lighting and the players' view on the TV treat them like any other light.
Click an effect on your map to pick it. It shows Atlas's own controls for a picked token, on your screen only (never on the TV):
With snapping on, sizes go in steps of one square, turns in 15° steps, and wall corners land on grid corners. Hold Alt for the other way. Drag the effect itself to move it. Esc lets go, and Delete ends what's picked. Effects on a token (a beholder's antimagic cone) keep their token.
Several at once: drag Atlas's selection box (or lasso) across the map and the effects inside it are picked along with the tokens. Shift-click adds or removes one. Drag one of them and they all move. Delete ends them all.
Ctrl+Z undoes casting, ending, moving, resizing, turning and editing effects, and Ctrl+Y or Ctrl+Shift+Z redoes. It's interleaved with Atlas's own history: whichever was done last is undone first, whether that's an effect or something in Atlas. Atlas's Undo and Redo buttons work the same way. Everything changed in the double-click editor, from opening it to closing it, is one step.
Effects drawn without an animation have an Inner colour (the heart) and an Outer colour (the edge and glow),
and every effect has an Opacity slider. They're in the cast window and the double-click editor, and they're
kept with saved spells (effect-colour, effect-colour-outer, effect-opacity).
In Atlas's statblocks (Ctrl / ⌘ + hover a token, the side panel, or a statblock note), every spell this
add-on knows gets a small Cast button in front of its name, written as its note writes it ("fire bolt" reads
"Fire Bolt"), and spell lists show one spell a line: every spell in your spell notes and saved spells, by its name, its note's aliases,
and its name without its inventor ("Hideous Laughter" for "Tasha's Hideous Laughter", as 2024 names it). They're
found in:
[[Shield]];Other text doesn't count, so "dim light" in a description, or a trait called Light Sensitivity, gets no button. Nor does anything under a heading or label about gear (Equipment, Inventory, Magic Items…), so a shield there stays a shield. A spell whose text names no area can be cast too: on its caster when its range is Self (Shield, On a creature), otherwise on a square at a point within range (Mage Hand).
Who's casting. The add-on finds the creature casting it from the statblock:
If it can't tell, it asks you to click the caster's token first.
Cast opens a small menu:
The buttons only sit beside the statblock's text; nothing in it is changed. Where Atlas draws a statblock's text itself rather than as markdown, the name is underlined instead and a click on it casts it (Shift-click: the cast window).
statblock code block that names one (creature: Archmage) is a statblock Atlas can link tokens to.examples/Battle Mage (statblock with spells).md
into your vault and change it. It's an Atlas statblock (5E 2014 template) with a spell list and spells named in
its actions. The parts that matter:statblock: true and atlas-template make the note an Atlas statblock;spells: is the spell list: a first line ending in a colon (the heading), then one line per level,
1st level (4 slots): burning hands, magic missile, shield;Only spells the add-on knows (your spell notes, see Spells: your Bases) are clickable.
The add-on reads the game system of the map's collection from Atlas (Settings → Atlas Spell Effects shows what it found, by name), so there's nothing to set up. It works with every system built into Atlas: D&D 5e, Pathfinder 2e, Daggerheart, Shadowdark, Old-School Essentials, Cairn, Call of Cthulhu, Cyberpunk RED and Draw Steel, and with your own.
Saved spells keep their sizes in the unit they were saved in, so save them again if you change a collection's system.
Spells with no area are cast by clicking their targets. Click the spell (in a statblock or the cast window's Place on the map), then click each target token. Keep clicking for more targets, and press Esc, Enter or right-click when done.
Which kind a spell is gets read from its text (ranged spell attacks, rays, bolts and darts are bolts; spells naming a
creature or target play on it). Change it in the cast window: On a creature in the Area row, or A bolt at creatures on a Line. It's
kept with a saved spell as effect-target (self, on or bolt).
Each spell you cast is one of Atlas's own areas too (the kind its Measure tool keeps), and the animation plays over it. So Atlas:
effect-look);It works both ways. Move, resize or recolour the area with Atlas's handles and the spell follows; delete it in Atlas and the spell ends; end the spell and its area goes. A cone, a line or a cube is Atlas's; a creature's aura (Spirit Guardians) is an aura on that creature in Atlas too. Walls, bolts and effects on a creature stay the add-on's alone.
Atlas's choices in the cast window (its Atlas area part, on an Atlas map that has areas):
All of it is kept with a saved spell (effect-draw, effect-area-light, effect-walls, effect-players,
effect-tool).
Atlas's own area window: click an area's handle and Atlas's window for it opens as usual, with a small Spell Effects part above its last row:
A burst's animation (Fireball's explosion) is grown so the blast itself reaches the edge of its circle; JB2A's art leaves empty room round it. Stray sparks may go a little past the edge.
A cone is drawn the way Atlas draws cones (your game's cone angle, with a rounded end unless its rules make cones flat), so where you aim it is exactly where its area lands.
A spell's area takes its look's own colour (Frost pale blue, Fire orange…), not the spell's colour. Change it in Atlas's window and your colour is kept.
Turn it off with Spells as Atlas areas in the settings (the add-on then draws spells alone, as before Atlas 0.15).
Lasting spells. A creature inside a lasting spell (Darkness, Silence, Spirit Guardians, Web…) gets Atlas's In a spell condition, plus the conditions the spell gives, for as long as it's inside. They come off again when it leaves or the spell ends. The add-on adds In a spell to your collection's conditions the first time it's needed. Only what the add-on put on is taken off: a condition the creature had already stays, and one you take off a creature that saved stays off while it's still inside. An aura round its caster marks the others in it, not the caster.
Instant spells. The creatures an instant spell hits (Fireball, Thunderwave…) are listed on a small card beside the map, on your screen only, and are In a spell while it shows. Close it with × when you've dealt with them. A line, cone or aura from a caster never catches the caster.
A spell's conditions are read from its text ("has the Restrained condition", "falls Prone"; not the ones it ends
or guards against), and Darkness gives Blinded. Change them in the cast window's Conditions row, which shows
your collection's conditions (lasting spells). They're kept with a saved spell as effect-conditions.
Turn it all off with Mark creatures in spells in the settings.
During a fight in Atlas's initiative tracker, each lasting spell shows how many rounds it has been up beside it (Round 3), on your screen only. It counts from the round the spell was cast in, or from the first round of a fight that started later. Spells never end on their own. Turn it off with Spell turn tracker in the settings.
It also shows the time (Round 3 · 12 s) where the game system's round has a length: 6 seconds in D&D 5e and Pathfinder 2e, 10 in Old-School Essentials and Cairn, 3 in Cyberpunk RED. Daggerheart, Call of Cthulhu, Shadowdark and Draw Steel have no fixed round, so they count rounds only, as do your own systems until you set one. Change any of them with Round length in the settings (6 seconds, 10 s, 1 minute…; empty: rounds only). It's kept for each game system.
Spells that teleport their caster (Misty Step, Far Step, Dimension Door, Thunder Step: "you teleport…") move the
token. Cast it, click the caster (if it isn't known from their statblock or selected), and how far they can go shows
round them; click where they go. Its animation plays where they leave and where they arrive, and the token lands in
the grid's squares, never further than it can go. It's Atlas's own move, so Ctrl+Z puts it back. Turn it on or off
for any spell, and set how far, with Teleports the caster in the cast window (kept as effect-teleport).
effect-range), so its range ring shows, and the units its sizes are in
(effect-unit). In a collection with another game system (metres, say), its sizes are read as the same number of
squares.The add-on's code: MIT (see LICENSE). JB2A's animations are not part of it. They're downloaded from JB2A and
stay under JB2A's own licence, CC BY-NC-SA 4.0, which is also why this add-on is and stays free.
npm install, then npm run build (makes main.js). npm run check type-checks, and npm run lint runs
Obsidian's own code rules. Pushing a tag such as 1.0.1 makes a GitHub release with main.js, manifest.json and
styles.css (see .github/workflows/release.yml). Set the same version in manifest.json and versions.json
first.