- Category Browser's edit mode now preserves category active state
- Fixed compound query parsing
- Category Browser
- Added a new global flag:
categoryDownload- When enabled right-clicked categories will call
MassEdit.categoryDownloadhook
- When enabled right-clicked categories will call
- Added a new category flag:
disableDownload- When enabled the global
categoryDownloadflag will be ignored
- When enabled the global
- Added a new global flag:
- German language translation courtesy of @BlueSkyBlackBird
Category Browser
- Added
Downloadabletoggle to category editor - Added
Tooltiptext field to category editor - Added
Calculate Asset Sizebutton to category editor
- Fixed modifications via
MassEdit.spawnPresethook being overridden for virtual 3D model presets - Fixed 3D Virtual model export to compendium producing invalid presets
- 3D model
Auto Centeris now enabled by default when spawning presets
- Fixed
Revertheader control not rendering onScenescapeconfiguration form - Fixed
Scenescape: Auto-flipcontrol not appearing onPrototype Tokenconfiguration form
- Fixed
Monks Active Tileinsert fieldsActionsandFilesoverwriting data
Scenescape
- Added new setting:
Misc>Hide Border- When enabled placeable border will no longer be shown on select/control
- Configuration window has been updated to AppV2
Misc.
- Scene Not Found error prompt updated to AppV2
- Fixed
inputChangeCallbacknot being called onGenericforms
- Fixed Tab right-click select on Mass Edit forms
- Fixed MATT custom field insertion
- Updated Generic forms to AppV2
- Virtual Presets/Folders can now be removed manually from the index using context menu options
Indexer
- Fixed a bug preventing merge window rendering when the current/main cache does not exist
- Improved migration API to reload Mass Edit index of migrated compendiums
- Improved Token Attacher migration macro to account for control token offset
Preset Browser
- Fixed folder export
- Fixed Actor folder import
Search
- Support of logical operators
OR&ANDhas been added within all preset search contexts- e.g.
(statue OR chair) AND (elvish OR orcish #ruined)
- e.g.
Indexer
- Fixed incomplete exports when editing
Virtual Directorypresets from within aCategory Browserwithout first opening thePreset Browser - Fixed folder icon and subtext not caching
3D Canvas
- Fixed Token preview scaling
3D Canvas
- Fixed Token previews not getting cleaned up and removed
- Fixed
Apply to Selected Placeablesoption not loading Virtual Directory presets before applying their data
Indexer
- Removed
Override TagsandFresh Scansettings - Added new button to export and import VIRTUAL DIRECTORY index
- After generating an index a new
Index Mergeform will now be shown- The form shows the total folder, file, and tag counts shown for:
- VIRTUAL DIRECTORY
- The latest scan that was just performed
- Pre-built indexes that have been found during the scan
- An option to
Discard VIRTUAL DIRECTORY- If checked instead of merging the latest scan into the VIRTUAL DIRECTORY, it will replace it
- Tags of files shared between the VIRTUAL DIRECTORYU and the latest scan will be preserved
- The form shows the total folder, file, and tag counts shown for:
Scenescapes
- Improved Token box select to take into account artworks with large empty areas
Preset Browser
- Replaced
Tag SelectorwithSaved Searches- Allows saving the snapshot of the current search state:
- Query, Category, Layer Switch, Auto-Scaling, External Compendiums, Virtual Directory
- The search state can be given a label and a background color to be saved under
- Clicking a saved search will re-create that state within the browser
- Saved searches can be dragged around to change their order
- Allows saving the snapshot of the current search state:
- Token dimensions updates on Scenescapes will now be blocked by default on Scenescapes, preventing system/third-party module breaking auto-scaling functionality
- If the working pack is removed, the Preset Browser will now automatically switch to and if needed create the default preset compendium
- New API:
MassEdit.updatePresetTags(...)- Allows mass importing of tags using the following format:
{ uuid: ["tag1"], uuid2: ["tag1", "tag2"]}
- Allows mass importing of tags using the following format:
- New options added to:
MassEdit.exportPresets(...)query- allows to filter exported presets using a search query
- Tagger rules are now fully handled by ME which should fix inaccurate rule application on multi-placeable preset spawning
- Fixed
Open Linker MenuandOpen Multi-Placeable Editkeybindings resetting selected placeable rotation - Fixed input fields not being displayed after selecting
Find and Replaceon randomizer forms
Directory Indexer
- Added scrollbars
- Individual directories can now be toggled on/off allowing to index a subsection of directories
- New setting
Fresh Scan- When enabled the current index will be ignored allowing a fully fresh scan
- Any directory not selected for indexing will be lost/not included in the resultant index
Misc
- Select tools inserted for
Ambient Lights,AmbientSoundsandMeasured Templateswill now be active by default when selecting the layer for the first time
Misc
- Fixed light preview rendering error
- Improved VirtualPreset load time via the Brush
API
- New async hook:
MassEdit.loadPreset- Called when preset data is required during a non-spawn context, such as media preview
Preset Browser
Placeablescategory will be locked onto by defaultScenecategory is now hidden behind the dropdown menu by default- Fixed wall textures not updating and persisting after preview mode is ended
- Fixed a folder related error preventing opening of the browser
Scenescapes
- Disable token rings when dragging tokens onto scenescapes
API
- New API method:
MassEdit.exportPresets({...})- Accepts the following flags:
workingCompendiumset to true to export current working compendiumexternalCompendiumset to true to export external compendiumsvirtualDirectoryset to true to export virtual directoryjsonset to true to return presets in JSON format without exporting
- Accepts the following flags:
- Fixed an issue causing metadata file index to reset
Directory Indexer
- Updated to Appv2
- Added Tokenize option to directory paths
- Image files encountered within these paths will have a
tokentag automatically applied to them and be displayed as Tokens within the browser
- Image files encountered within these paths will have a
Auto-Save Indexoption now prompts for the destination directory
Misc
- Fixed Scenescape error thrown due to v2.3.1 AmbientLight error fix
- Fixed
AmbientLightmulti-drag errors - Fixed FileIndexer generating bad links for S3 buckets
- New hook:
MassEdit.renderPreset- Called before a preset is rendered within the browser
- New hook:
MassEdit.ready- Called when the module has finished setup and is ready to be interacted with
- New API:
MassEdit.registers.registerSceneControlMacro({ icon, img, label, uuid })- Allows registering of macro buttons to be displayed when clicking the Mass Edit scene control button
- New API:
MassEdit.recoverPresetIndex(_packId_)- Recovers missing preset index entries for the provided compendium
- Fixed
Import SceneandSpawn Scenecontext menu options
- Fixed preset type search
- Fixed working pack creation/initialization
- Fixed error thrown during setting save
- Fixed
Auto-flipsettings not being inserted into Token Configuration forms while on Scenescapes
- Preset handling system rework
- Code refactoring/simplification
- Improved preset retrieval speed
- Better synchronization between the Preset Browser and the underlying Preset compendiums
- New setting:
Hide Preset Compendiums- When enabled compendiums managed by Mass Edit will not appear within the sidebar Compendium Packs tab
- New Preset context menu option:
Expand- Opens up a new window allowing selection of each individual placeable contained within the Preset
- New toggle added to Preset Category Browser:
Sort Alphabetically - New hook:
MassEdit.spawnPreset- Called before a preset is spawned, providing an opportunity to modify it
- Registered
asyncfunctions will be awaited - Preset spawning will be cancelled upon
falsebeing returned
- Fixed wildcard search not working in Mass Edit forms
- Fixed Shift-key modifier not being recognised when performing file drag/drop upload
- Fixed Preset Browser not immediately rendering drag/dropped files
- Fixed compatibility issues with
Multiple Document Selectionmodule
- Fixed
File Indexernot generating an index
Drag/Drop Upload
- Files dragged onto canvas or 'Preset Browser' will be uploaded to a configurable location
- Files dropped on canvas will be spawned as Tiles (images/video), Tokens (images/video +
Shiftkey), or AmbientSounds (audio) - Files dropped onto the 'Preset Browser' will be created as Tile/Token/AmbientSound presets
- If multiple files are dropped in a prompt will be shown to allow creation of multiple or a singular preset containing all files
- Settings
Enable Drag Upload- Allows toggling the feature on/off
Upload Destination- Location the dragged in files are to be stored within
Template Presets- Presets of Token, Tile, and AmbientSound types can be dragged in here to act as templates
- Dragged in files will be matched against a template and replace the template's referenced image, video, or audio file
- If a template does not define width and/or height these will be derived from the original file
Misc
- Improved preset drag/drop handling to align better with foundry drag/drop flows
- Fixed randomization not working with the Token
texture.srcfield - Added
Black Barssetting to Scene Config- When enabled black bars will be displayed in the padded area of the scene
- Fixed Scene Mass Edit window header buttons
- Fixed Search Bar not rendering within Category Browser
- Fixed categories not highlighting upon selection within Category Browser
- Fixed drag and drop not working on Preset Bags
- Fixed 'Link Token' behavior decoupling Token after a single move
- Foundry v13 Support
- External modules can register messages to be shown when FauxScene import fails.
- e.g.
MassEdit.sceneNotFoundMessages?.push({
query: '#important',
title: 'Attention!',
content: '<p>This is a very important scene: {{name}}</p>',
});
- Fixed preset export to JSON not working within Category Browsers
#nullcan now be included in preset search queries to search for presets containing no tags
- New setting:
Preset Browser Right-Click macro- Macro uuid which will be executed when preset browser scene control is right-clicked
- Added indexing support for
Sqyre(https://www.sqyre.app/) asset paths.
- Fixed simultaneous updates to many uniquely linked placeables resulting in partial or badly anchored updates
Preset Browser
- Added tooltips to header buttons
- Fixed Video and Sound previews not ending under certain scenarios
- Fixed File Indexer failing when processing files without extensions
- Added header button to the category browser to open up File Indexer form
- If working pack is locked, a new header button will appear allowing to unlock it from within Preset Browser
Misc.
- New setting:
Disable preset inclusion within Spotlight Omnisearch- Presets will no longer be included when performing
Spotlight Omnisearchsearches.
- Presets will no longer be included when performing
- Fixed simultaneous updates to many uniquely linked placeables resulting in partial or badly anchored updates
- Fixed typo in Category Browser generated macros
- Scenescapes: Added height field support for the PF2e game system
- Added 'Auto-Save Index' context menu option for Virtual Directories
- When an asset within a virtual directory is tagged and automatic 'Save Index' operation will be performed for the toggled folder
MassEdit.importSceneCompendium(...)will now update FauxScene names if a mismatch has been found
- Fixed Virtual Directory index saving not properly encoding thumbnails
- Fixed an error when virtual directory cache does not exist
- Fixed
Link Tokenbehaviors under certain circumstances being assigned identical IDs
- Fixed Scenescape auto-scaling being off by default
- Fixed Category Browser's globalQuery not being quoted in the generated macro
- Fixed TMFX filters getting cleared on Scenescapes
Scenescapes
- Controlled token border has been changed from rectangle to image outline
- Improved handling of linked placeables
- Token Configuration forms have an option to enable auto-flip
- You need to be on a scenescape for this option to appear
- When enabled the Token and all linked objects will be flipped when using WASD/Arrow keys for movement
Scenescape: Toggle Auto-scalingkeybind will now keep the auto scaling on/off until it is pressed again, instead of being reset during next drag/move- Dragging one-way linked placeables will no longer grab the rest of the linked objects
Brush
- Fixed tint color getting soft-locked after enabling TMFX tinting and disabling TMFX module
- Fixed video previews not rendering
Misc
- Engaging preview mode (
Shift+D) while hovering over a placeable will now designate it as the pivot; the mouse will be cantered on it and all transformations will happen relative to it MassEdit.spawnPresethook will now be called just before Mass Edit performs any kind of spawn operationpresetis available as an argument allowing modification before the module proceeds with spawning
- Fixed Scene context menu failing to open when a scene is not currently loaded
Category Browser
- Initial
width&heightcan now be passed in - If
globalQueryis provided, it will be appended to any other query run within the category browser- e.g. `globalQuery: "#orcs"
- All categories and search bar searches will have #orcs implicitly appended to them
- e.g. `globalQuery: "#orcs"
- Fixed an elevation in spawn previews not resetting when moving out of a Scenescape scene
- New button added to Linker menu (Shift+Q) to toggle LinkToken behavior interactions on selected tokens
- When toggled on Tokens will not be automatically linked to regions they enter
- Improved processing of Tokens jumping between two regions with LinkTokens behaviors
Pixel Perfectscene control toggles are now accessible by players- Horizontal and Vertical mirroring keybinding are now accessbile by players
- Flag fields inserted into Bag configuration windows will now be applied to all spawned placeables
- Preset search queries now support negative terms
- Add a
-next to a name, tag, or preset type to exclude it from the search - e.g.
house -red - e.g.
house #player -#colorable - e.g.
ship -@Tile
- Add a
- Fixed bad interaction between multiple preset container forms causing some presets not to be rendered
- Fixed
Save Indexvirtual folder context menu option being unresponsive
- While in preview mode:
Shift+Dkeybind will no longer trigger default foundry rotate behaviorAltwill no longer trigger placeable highlighting or web browser tab swap when scrolling
- Fixed Mass Edit form's
Apply JSON Datadialog not correctly applying passed in JSON data - Fixed Preset browser's folder context menu error
- Category browser API now supports a
searchBarandglobalSearchfields which will add a search function to the form and set it to either search current results or all presets globally- e.g.
MassEdit.openCategoryBrowser(menu, { name: "My Test Browser", retainState: true, alignment: 'left', searchBar: true, globalSearch: true}) globalSearchsimply controls the initial global/local search state, a UI toggle next to the search-bar can be clicked to change it
- e.g.
- Category Browser CSS changes
- Fixed
MassEdit.getPresetAPI error
Move That For Youmodule support- If players have both Tile move and rotate permissions enabled they can use the
Placeable Preview Editingkeybind to edit the selected tile/s and all linked placeables
- If players have both Tile move and rotate permissions enabled they can use the
- When in preview mode placeables can now be scaled up and down using
Mousewheel+AltorSpacebarkeys
Bags
- Bags have been converted to a preset based system
- All your bags can now be found in the
Preset Browserunder theBagcategory - Previously created bag macros should continue to work
- All your bags can now be found in the
- Header button added to allow search results to be refreshed manually
- Header button added to generate a quick access macro for the opened bag
- Additional configuration options
- Search
- Supply
InclusiveandExclusivesearches Inclusivesearch results will be included within bagsExclusivesearch results will be removed from bags- Each search mimics results seen within the
Preset Browserallowing for expressions such asdead #elfto find any preset with termdeadand tagelf Alloption controls whether all or any of the tags within the search must match
- Each search mimics results seen within the
Virtual Directorytoggle lets you to filter virtual directory results
- Supply
- Appearance
- Customize color and opacity of the bag window's header and background
Display Search Barincludes a search bar at the top of the window
- Search
Preset Browser
- Added
Scenecategory - Added new header button for browser window configuration
Persistent Search- When enables the search field content will be retained after window closure and category changes
Dropdown Categories- Select categories you wish to be hidden behind a dropdown menu
- A preview image will now be shown when sound preview is being played
- Search Bar now supports preset type searches via the
@prefix- e.g.
@AmbientLight - e.g.
red #castle @AmbientLight
- e.g.
API
MassEdit.getPreset(...)andMassEdit.getPresets(...)- New option:
query- A search query sharing the same format as searches carried out via the Preset Browser search bar
- e.g.
MassEdit.getPresets({ query: 'yard #wilderness' });
- New option:
presets- An array of presets can now be passed in
- When provided search will be carried out on the array instead of all presets present in your world
- e.g.
MassEdit.getPresets({ query: "tree", presets: [...] })
- New option:
MassEdit.PresetContainer- A
FormApplicationclass that can be extended to allow preset rendering within your custom application - Include the following snippet within your application template and provide a presets array as a return within the
getData(...)method- Presets can be retrieved using
MassEdit.getPresetsorMassEdit.getPreset
- Presets can be retrieved using
- A
<div class="preset-browser">{{>me-preset-list presets=presets}}</div>- New method added:
MassEdit.openCategoryBrowser(...)- Constructs and opens an application for browsing presets
- Accepts an array of categories
- Each category either runs a query that display found results or opens a submenu consisting of other categories
- Check Mass Edit macro compendium for an example macro
- Category format:
// Category
{
title: 'Trees', // Text displayed on hover,
fa: 'fa-duotone fa-tree', // FontAwesome icon ('fa' or 'img' are required)
img: 'icons/svg/anchor.svg', // Image ('fa' or 'img' are required)
query: '#tree', // Search query to be ran when the category is selected, ('query' or 'submenu' are required)
submenu: [], // An array of categories to be displayed when this category is selected ('query' or 'submenu' are required)
}Macros
- New macro:
Open Category Browser- Sample use of
MassEdit.openCategoryBrowser(...)
- Sample use of
- New macro:
Import Scenes as Presets to Working Pack- Imports scenes from the selected compendium into the current working pack as
FauxScenes - Details on how these scenes can be accessed can be found within the macro
- Imports scenes from the selected compendium into the current working pack as
Misc
- Improved preview snapping
- Context menu option added to scenes to enable spawning entire scenes as presets
- Fixed selection not working in preset
Delete FieldsandModifyforms - Fixed players being unable to drag their own tokens on Scenescapes
Preset Bags
- Preset storage windows which can be opened via macros
- Presets can be drag and dropped from the 'Preset Browser' or other bags
- A macro can be generated by opening the 'Preset Browser' and clicking a bag icon in the header
- Choose a name or existing bag and a macro will be generated to open it
- These macros can be shared with players to allow them to spawn presets
- Spawning of presets requires a GM to be logged in
- Configure
- Assign a descriptive name to the bag
- Assign tags which will force a search and display all the matched presets within the bag
Misc
- Scenescape
Step Sizecan now be specified separately for vertical and horizontal movement - Fixed Tokens shrinking and bloating on Scenescapes when performing movement operations
FAVORITEScategory has been removed from Preset Browser, it has been replaced by the newPreset Bagfeature- Fixed
TMFX - Editormacro duplicating forms
- Fixed linker incorrectly processing simultaneous position and rotation updates
- Added
Current Scenetarget option to macro generator when opened via a Scene Mass Edit form - Removed unnecessary layer selection code from macros generated for non-placeables
Scenescapes
- New button added to scene configuration form which allows to setup scenes as "Scenescapes"
- Scenescapes perform dynamic scaling of placeables to achieve a pseudo 3D effect on landscape backgrounds
- Configuration window
- Scale
- Select, re-size and spawn reference tiles on the scene
- These tiles will be used to automatically estimate scale for other placeables put on the scene
- Distance
- At what distance will an object appear half as small?
- This value in combination with the reference tiles will be used to workout the relative and total "depth" of the scene
- Step Size
- How many feet a selected Tile or Token will move on a single press of WASD/Arrow keys
- Limits
- Define upper and lower bounds for movement using WASD/Arrow keys
- Black Bars
- Display black bars in the padded area of the scene
- Pixel Perfect Hover
- When enabled
Pixel Perfect Hoverwill be force enabled regardless of the button toggle state in the scene controls
- When enabled
- Scale
- Presets given tags in the form of
#ftwill automatically adjust to that size when dropped on a scenescape- Tokens will attempt to retrieve height information from their Actors, if not found will default to
6ft x token_height
- Tokens will attempt to retrieve height information from their Actors, if not found will default to
Misc
- New setting:
Pixel Perfect Hover: Remove Button- When enabled
Pixel Perfect Hovertoggle will be removed from Token and Tile layer tools
- When enabled
- Scenescape range pickers changed to allow manual input
- New setting:
Pixel PErfect Hover: Alpha Threshold- Controls the alpha value cut-off point at which pixels are recognised as hovered over.
- Fixed ForgeVTT bug preventing opening of Virtual Directory folders
Shift+Deletekeybind is no longer required to delete entire linked entities- Deleting a linked entity through any means will delete all linked placeables
- Keybind's role has been changed to deleting only the selected placeables
- Fixed undo (Ctrl+Z) not recovering more than one deleted linked entity
- Pixel Perfect Hover now has separate toggles for Tiles and Tokens
- Mass Edit AmbientLight configuration forms have lost
Hiddenfield during v11->v12 migration which now has been reintroduced - Improved preset folder delete warning
Fixes
- Fixed Virtual Preset export not preserving tile width & height
- Fixed Addition/Subtraction features not changing field colours on new v12 forms
- Fixed wall brush errors
- Fixed spawned placeable elevation being incorrectly flattened
- Fixed MeasuredTemplate rotations not propagating to other linked placeables
- Fixed Region behaviour
Link Tokenpoorly interacting with tokens already manually linked to the region - Fixed inability to open Preset Browser when a non-default working compendium has been removed
Misc
- Added
Pixel Perfect Hovertoggle to Tile controls- When enabled hover on tiles will only be recognised if over a non-alpha pixel
- Preset tags will now show in the tooltip instead of beneath the preset name
- Improved batch loading, creation, and updating speed of presets
API
spawnPreset(...)changes- coordPicker has been renamed to preview
- pickerLabel has been renamed to previewLabel
- taPreview has been removed, Token Attacher previews will now always be displayed if preview is set to true
Linker
- Smart Linker menu will now highlight linked placeables when hovering over the menu
- Smart Linker menu will now automatically close if the representative placeable has been unlinked via
Smart Un-Linkkeybind - Fixed
Smart Linkkeybind not working under certain scenarios
Linker
- Bug fixes
- New keybinding:
Smart Link- When pressed will either automatically link selected placeables or initiate a multi-layer select to link box selected placeables across all layers
- New keybinding:
Smart Un-Link- When pressed will either remove links from selected placeables or initiate a multi-layer select to un-link box selected placeables across all layers
Misc
- Fixed
Modifyfield breaking Preset spawning - Changed default click behavior for Mass Edit Preset compendiums to open the Preset Browser instead of Journal compendium
- Journal compendiums can still be accessed via right-click context menu
- Copy/Paste keybindings will now allow to copy both selected and placeables they're linked to and paste them as a group
- Fixed unresponsive Brush color controls
attachedelement data is now accessible in the Preset Pre-Spawn ScriptDelete Selected & Linkedcontrol will now only delete placeables linked using TWO_WAY and SEND link types- Linked walls will no longer affect other linked placeables when only a single wall segment has been moved
- 3D spawn preview improvements
- Workaround for prefab spawn failing due to Foundry null flag override bug
- Fixed
Presetsfield withinSpawn PresetandDe-Spawn Presetbehaviors not allowing insertion of Preset UUIDs on Foundry versions12.329and12.330
- Copy UUID option added to Preset context menu options
- Fixed file-picker image fields not being recognized as such by the randomizer on right-click
- Fixed PlaylistSound Mass Editing not working on v12
- New behaviors:
- Spawn Preset
- De-Spawn Preset
- Fixed Tile sort order not being preserved when creating presets
- Tile sort order will now be set to scene maximum + 1 (and incremented from there for multi-tile presets) when being spawned via API, Brush, or Preset Browser
- New keybindings
- Delete Selected & Linked
- Default:
Shift+Delete - Deletes currently selected placeable and all placeables linked to it via the
Linker Menu
- Default:
- Mirror Preview Horizontally
- Mirror Preview Vertically
- Default:
HandV - Mirrors previews activated via
Preset Browser,Placeable Preview Editingkeybinding, orMassEdit.spawnPreset(...)API
- Default:
- Delete Selected & Linked
- Slight
Linker MenuUI improvements
Linker
- Links can now be established between placeables to allow movement and rotation of entire linked groups
- New Keybinding:
Open Linker Menu- Opens a menu from which you can add and remove links on selected placeables
- If
Altis held during linked placeable drag or rotation, the links will be momentarily ignored
Region Behaviors
- New behavior added:
Link Token- Tokens upon moving into and out of the region will be linked and un-linked from the region
Preset Browser
- Preset Edit form is now separated into tabs
- New options on Preset Edit forms:
Preserve Links- By default the module will generate unique links for all placeables contained within the preset to allow independent movement of the presets on the scene.
- If enabled links will be preserved meaning if preset is spawned multiple times all placeables will be part of the same link group
- Preset browser will now detect links on dropped in placeables and prompt for linked placeable inclusion in the created preset
Assignon preset edit forms will now detect links on selected placeables and prompt for their inclusion and override of existingAttachedelementsAmbientSoundpresets can now be dropped on Playlists to create new sounds- Improved the processing speed of working pack export to JSON
Misc
- New setting:
Pre-Select Auto-apply- When enabled
Auto-applycheckboxes will be pre-selected on Mass Edit forms
- When enabled
Select Edit Placeablekeybinding will now detect links on selected placeables and include them within preview edit mode- Added ability to rotate Rectangle & Polygon Regions in the same manner as Tokens, Tiles, etc.
v12 Region Support
- Drag & Drop
- Mass Editing
- Transform
- Presets
- Workaround for
Levelson v11 defining elevation properties asgettersonly
- Fixed error thrown when activating a brush via a
Virtual Preset - Manual iteration of the presets within the
Brush Menuwill now ignoreLock
- Fixed Mass Edit forms not opening for AmbientLights and AmbientSounds on v11
Brush Menu / Preset Browser
- Preset previews should now more consistently render on top of other elements on the screen
Brush Menu
- Manually adjusted scale and rotation will now be preserved and applied to the next preset in the sequence
- Fixed errors thrown related to
Regionson v11 clients
- Foundry v12 support
- Added migration API for presets. See Mass Edit macro compendium for examples.
Preset Browser
- Improved Token snapping in preset preview mode
- Fixed Token Attacher prefab preview positions not correctly reflecting final ones in certain situations
- AmbientSounds and Tiles with video sources can now be previewed by hovering over them
- Search Bar now includes a Tag Selector pop-up which displays and allows you to select tags to search by
Preset Browser
- Directory Indexer can now be accessed via the header
- Presets belonging to unlocked compendiums can now be edited even if they're not part of the current working compendium
- Tags can be explicitly searched for using #
- e.g. rock #terrain
- This would bring up all presets that have been tagged with terrain and that contain rock in their name
- Switching placeable types will now reset the search textbox
- Search mode toggle can now be used to turn-off display of folders during searches
- Due to allowing scanning and inclusion of tens of thousands of files within the form, searches have been limited to the first 1000 presets
- Fixed folders showing up as visible during searches even if they do not contain matched presets
- Fixed FAVORITES tab rendering sluggishly compared to other tabs
- Fixed AmbientLight and AmbientSound previews only rendering their controls
- Fixed images floating up when in thumbnail view mode
Directory Indexer
- The module now supports indexing of directories and displaying them within the Preset Browser as Tile and AmbientSound presets.
- Indexer menu is accessed via a new Preset Browsers header button
- Select directories you want to be indexed, filters, and override settings
- The index will be created as a file within your user data folder and will be re-used on all subsequent openings of the Preset Browser
- Any module directories found as part of indexing will result in assets found within being tagged with the author's name (e.g. baileywiki, caeora, etc)
- Supported sources: data, public, s3, forgevtt, forge-bazaar
noscan.txtfile can be added to directories you do not wish to be indexedindexer.jsonfile can be added to directories to modify folder appearance, tags, and indexing exclusions.- Format:
{
"modules/baileywiki-3d": {
"tags": ["3d_canvas"],
"color": "#7e1212",
"icon": "icons/vtt-512.png",
"subtext": "3D Canvas"
},
"modules/baileywiki-3d/icons": {
"noscan": true
}
}
Misc.
- Preset pasting onto existing placeables will no longer include position data
- Tiles spawned through the Brush Menu will have their Z-Index be automatically set to the current highest on the scene.
- History recording feature has been removed
- Fixed errors thrown when using Brush update tool with empty presets
Brush Menu
- New Control: Density
- While the brush is held, placeables will be spawned within the grid space increments defined by the selected density
- e.g. density of 1 spaces out presets within 1 grid space increments
- e.g. density of 0.1 spaces out presets within 1/10th grid space increments
- New Control: Tagger
- Available when
Taggermodule is installed and active - Applies tags to the spanwed placeables
- Available when
- Control: TokenMagicFX
- Multiple TMFX filters can now be selected at the same time
- Two special TMFX filter presets are now available:
- DELETE ALL: removes all TMFX from spawned/updated placeables
- DELETE: when included with other filter presets will remove them instead of applying them to placeables
- Colorization controls are now hidden behind a toggle
- Fixed errors thrown while using Brush delete tool
Presets
- Improved handing of presets with empty data
- Improved re-indexing of presets with missing metadata
- Brush Menu
- Added 'Token Magic FX' filter presets control
- Added 'Scale To Grid' control
- Brush macros can now be generated using either Preset UUIDs or Names
- Presets
- Preset browser optimization
- Spawn preview now automatically disables on scene change
Presets
- New Favorite category has been added to the placeable Preset browser
- If the preset browser is expanded enough display will switch to thumbnail grid view
- Preset browser will now retain scroll position when re-rendered
- Fixed rangeTop/rangeBottom flags being manipulated while 3D canvas is not active
Brush
- Fixed active brush interacting with placeables while dragging application windows
- Brushes activated via the Preset browser will now open up a new menu:
- The menu contains controls to manage how selected presets will be applied on the canvas
- Rotation: Applies a random rotation within the selected range
- Scale: Applies a random scale within the selected range
- Spawner: Toggles between spawning new placeables and updating already existing placeables on the canvas
- Random: Toggles preset iteration between sequential and random order
- Eraser: When enabled the brush will turn into an eraser deleting clicked placeables
- Lock: When enabled presets will no longer be iterated through
- Group: When disabled presets containing multiple placeables will spawn them individually instead of a whole group
- Snap: When enabled preview/spawned placeables will be snapped to the grid
- Macro: When clicked control settings and all selected presets will be made into a macro to allow re-opening of the menu in the current state
- Colorize: Select a color to apply to Tiles, Tokens, and AmbientLights
- FX: When enabled the selected color will be applied as a DDTint filter
API
- MassEdit.openBrushMenu(options, settings = {})
- Opens a brush menu using the provided preset search options (see
MassEdit.getPresets)
- Opens a brush menu using the provided preset search options (see
- Fixed Token Attacher prefabs dropped from the preset window being scaled twice
- Fixed 'Preset Edit' form fields resetting after certain actions have been performed on it
Presets
- Previews (preset double-click) can now be rotated and scaled before being placed on the canvas
- Hold SHIFT or CTRL and use the mouse wheel to rotate the preview
- Hold ALT and use the mouse wheel to scale the preview
- Search will now split the search term into separate keywords to allow for out of order word searches
- e.g. "table orc", will match "Table Orcish", and "Orcish Yellow Table"
- Brush can now be toggled between update/spawn modes
- Update (yellow) will apply preset data to hovered over placeable
- Spawn (green) will spawn preset on the position of the brush
- Fixed Post-Spawn script error
API
- MassEdit.spawnPreset(...)
- New options: center
- Chosen spawn position will be treated as the overall center point of all the placeables contained within the preset
- New options: center
Misc.
- Selected placeables can now be manipulate in groups using
Shift+Dkeybinding allowing you to move, scale, and rotate all of them at once- If none are selected a select tool will be activated allowing you to initiate editing of placeables across all layers within the selected range
- Improved load speed
- Multiple presets tags can now be entered at the same time by separating them by commas
- TMFX filter DDTint can now be randomized on Preset Edit forms
- MassEdit API
- getPreset and spawnPreset can now be provided a 'random' flag
- if true a random preset will be chosen from the matched list if a unique one could not be found
- otherwise the first found preset will be returned
- getPreset and spawnPreset can now be provided a 'random' flag
- Fixed bad meta document initialization preventing Preset form from opening
- Added an additional fail-safe to revert back to the default compendium
- Spotlight Omnisearch should now populate with "PRESET" type
- Mass Edit is now Baileywiki Mass Edit
- API's now support tags
-
Preset tagging
- Select
Editwithin the preset context menu to add tags - With multiple presets selected you'll have the option to
Add TagsandRemove Tagsfrom all selected presets - Tagged presets will be included in the matching searches
- Hover over a preset to see its tags
- Select
-
External compendium folder editing
- Assign color, name, and group
- Folders with the same group name will be displayed together under one folder
-
Compatibility fixes for
Spotlight Omnisearchmodule
- Sort static preset folders by name
Spotlight Omnisearch- Mass Edit presets are now available via this module's search feature
- Preset window will now hide itself when spawning a preset with preview via double-click
- Misc. bug fixes
- Select Tool is enabled for AmbientLight, AmbientSound, MeasuredTemplate, and Note layers
- Added JournalEntry ID button to
Preset Configform title bar. - When exporting preset folders a progress tracker will now be displayed
Fixes
- MetaIndex entries will now be re-generated for missing presets
- Fixed MetaIndex not clearing out indexes when presets are batch deleted as part of folder delete
- Fixed context menu's not opening under certain conditions
- Fixed edit related context menu options being shown for external compendiums
- Actors and Actor folders dragged into the form will now merge/update based on Actor ID instead of always generating new copies
- Fixed Preset right-click not auto-selecting the preset
Presets
- Performance improvements when handling extremely large compendiums
- Added the 'Delete ALL' option for folders
- Actors and Actor folders can now be dragged into the window to generate Token folders and presets from them
- Fixed Scale to Grid skewing positions of spawned placeables when as part of a group or as an attached element within a preset
- Fixed Mass Edit interfering with normal copy/paste flow
Presets
- New contextmenu option:
Apply to selected Placeables- Applies selected presets to selected placeables
- New option added to the Preset Edit form:
Spawn>Random- If a preset consists of a group of placeables a random one will be chosen instead of spawning the entire group
- Fixed
Single Placeable: Default Configsetting interfering with the opening of the Mass Edit form viaPreset Editform - Presets retrieved via
MassEdit.getPreset(...)now have a methodattachwhich allows attachment of passed in placeables to the preset
Presets
- Folder open/close state now persists on game reload
- Warnings will now be shown when attempting to delete a folder or more than 2 presets
- Deleting a folder will no longer delete its presets and sub-folders
- Fixes for
DnD5e v3.0.0
Presets
- Preset previews should display even if coordinate data has been manually removed from the preset
- 3D Canvas compatibility
- Fixed multiple submit buttons being shown on Mass Edit forms
- Fixed multiple checkboxes being inserted on Mass Edit forms
- If on a 3D scene preset window will contain an additional control to create presets from selected placeables
Preset Configwindow now has a button to attach all selected placeablesMassEdit.spawnPresets(...)now accepts x, y, AND z coordinates
Presets
- Additional placeables can now be attached to presets by dragging them onto 'Preset Edit' forms
- Holding
Shiftduring preset drag out or with coord picker active (preset double-click) will prevent position snapping - ControlIcon previews (Notes, Templates, Lights) should now appear more consistently
- Preset spawner should now be a bit more resilient to users manually deleting coordinate data within the preset
Presets
- New preset editing options
- Pre-Spawn Script
- Executed before the preset is spawned
- Variables in-scope:
data- data which will be used to spawn the placeable-
- Usual macro variables; 'speaker', 'actor', 'token', 'character', 'scope'
- Post-Spawn Script
- Executed after the preset has been spawned
- In-scope:
documents- spawned documentsobjects- spawned placeables-
- Usual macro variables; 'speaker', 'actor', 'token', 'character', 'scope'
- Pre-Spawn Script
- Fixed Drawing
strokeColornot applying toMass Editforms whenstrokeWidthandstrokeAlphaare not part of the preset data
Presets
- Brush
- Will no longer affect all stacked placeables under the brush when clicked
- Hover will be triggered when above a placeable to improve clarity as to what will be affected
Presets
- Improved spacing of preset names when they overflow to a new line
Forms
- Reduced likelihood of multiple
ApplyorSearchbuttons being inserted into forms
Presets
Drawings andMeasuredTemplates will now be owned by the users that spawned them- Folders can now be created for non-placeables (e.g.
Scenes)
Presets
- Window will now open in the position it was closed when re-opened via Keybind or Scene control
- Fixed assignment of new placeables to presets not updating the internally tracked grid size used in automatic scaling
- Pressing middle-mouse button while spawning a preset will now cancel the operation
- Tooltip updates
- Localizing more user facing strings
- Header now sticks to the top of the window instead of scrolling with the presets
- Search mode can now be toggled between
PresetsandPresets & FoldersPresets- Displays only presets with matching namesPresets & Folders- Displays presets and folders with matching names
- Search bar will now be highlighted if text has been entered
Presets
- Made the Preset window a little more compact
- Fixed a visual bug causing context menu to get hidden before reaching the bottom of the form
- Removed
Copycontext option in external compendiums as same result can be produced by using theExport to Compendiumoption and choosing the current working compendium Export to Compendiumdialog now has aKeep Preset IDsoption- When enabled exported presets will keep their IDs and will override any previously exported presets with the same IDs
- On preset create instead of
New Preset, the firstTaggermodule's tag will be used as the preset's name instead if one has been assigned
- Brush once activated will now swap to the new preset if another is selected
- Fixed a bug causing the brush to lose track of mouse up/down positions
- New context menu option:
Copy to CLipboard- Copies selected preset's data to the clipboard which can then be pasted as plain text or onto selected placeables via
Ctrl+V
- Copies selected preset's data to the clipboard which can then be pasted as plain text or onto selected placeables via
- Presets can now be dragged onto Mass Edit form to apply them to it
- Scene presets can be double-clicked or dragged out to apply them to the current scene
Presets
- New control added under Preset edit form:
Spawning > Modify- Allows to specify fields to be prompted for editing when spawning a preset
- Certain conflicting operations will now disable controls until the Preset edit form is saved/closed
API
MassEdit.spawnPreset(...)- New option:
modifyPrompt - When enabled will display a pop-up prompt allowing preset data to be modified for fields selected using
Spawning > Modifycontrol on the Preset edit form - Enabled by default
- New option:
- Fixed Scene preset editing errors
- New keybinding:
Open Scene Presets- Toggles a scene preset form on and off, allowing to apply presets to the active scene
- New scene context option:
Mass Edit- Opens Mass Edit form for the selected scene
Misc.
- Preset forms opened from within Mass Edit forms will now:
- Will be opened next to parent form
- Automatically close with the parent form
Presets
- Working directory will now be automatically switched back to default if the previous working directory has been removed
- Added new window control:
Scale To Grid- When toggled on, Tiles, Drawings, and Walls dragged out onto the scene will be scaled according to pixel density (Grid Size)
- Added
Delete Fieldsoption to preset edit form- Allows to delete individual fields from the stored placeable data
API
MassEdit.spawnPreset(...)- New option:
scaleToGrid- When set to true Tiles, Drawings, and Walls will be scaled according to the scene's pixel density (Grid Size)
- New option:
Misc.
- Housekeeping: The majority of user facing text should now be contained in
lang/en.json
Presets
- Grouped Placeables
- When dragging in multiple placeables onto the preset form a single preset will be created containing all of the placeables with their relative positions
- When these presets are spawned using
MassEdit.spawnPreset(...)API withcoordPickeroption enabled previews will be created for each placeable within the group
- When editing a preset there is now an option to
Assignnew placeables to it. - Presets can now be double clicked to spawn them on the canvas with a preview
API
MassEdit.spawnPreset(...)- Can now be called by players if an active GM is present
- Option:
taPreview - Accepted values and their behaviour has been changed
- "ALL*" - displays previews for all attached elements
- "{documentName}" - displays preview for all elements of this type
- e.g "Tile", "Wall", "MeasuredTemplate", etc.
- "{documentName}.{index}" - displays a preview of a specific element matching document type and index
- e.g. "Tile.0", "AmbientLight.3", "AmbientSound.2"
- Values can be chained using a comma
- e.g. "Tile, Wall, MeasuredTemplate.1"
Misc.
- The module's code has been bundled to reduce number of http requests
- Fixed some preset fields not applying to forms
- As of Token Attacher version 4.5.14, tokens and their attached elements will be saved when creating a token preset
API
MassEdit.getPreset(..)- New option added:
folder- Returns a random preset within the provided folder name
EXTERNAL COMPENDIUMSwill now also be searched
- New option added:
- New function:
MassEdit.getPresets(...)- Has same options as
getPresetbut instead of returning one preset will return all matched - Unique option:
format(accepted values 'preset', 'name', 'nameAndFolder') - Configures the format in which the placeables are turned in
- Has same options as
MassEdit.spawnPreset(...)- If the module finds multiple presets given the provided options a random preset will now be chosen from those found
- New option:
taPreview- If spawning a
Token Attacherprefab withcoordPickeroptions set to true, allows to specify the element to be displayed as the preview. - Valid values include placeable names and optionally index number
- e.g.
Tile,Tile.1,MeasuredTemplate.2 - e.g.
MassEdit.spawnPreset({name: "TA Prefab", coordPicker: "true", taPreview: "Tile"})
- If spawning a
Misc.
- Fixed placeable
Drag & Droponto preset form reporting errors for non-controllable placeables
- Added support for
Token Attacherprefabs. Tokens with attached elements can be dragged into the preset window to copy both the token and attached elements both.- Requires forked version of Token Attacher:
- https://github.com/Aedif/token-attacher/releases/download/4.5.13.1/module.json
- Slightly improved handling of placeable drop on preset window
- Fixed selected fields being forgotten after the Mass Edit for is re-rendered
- Fixed Generic Forms not rendering
MassEdit.spawnPreset(...)- coordPicker option will now display the preview of the placeable
- New option: pickerLabel
- A string that will be displayed above the crosshair when coordPicker is set to true
- e.g.
MassEdit.spawnPreset({ name: "Torch", coordPicker: true, pickerLabel: "Placing Torch" });
- New option added to
MassEdit.spawnPreset(...)coordPicker- If 'true' a crosshair will be activated allowing spawn location to be picked by clicking on the canvas- e.g.
MassEdit.spawnPreset({ name: "Torch", coordPicker: true}); - e.g. spawning 3 torches in a sequence:
for (let i = 0; i < 3; i++) {
await MassEdit.spawnPreset({ name: 'Torch', coordPicker: true });
}- Mass Edit API can now be accessed via
MassEditas well asgame.modules.get("multi-token-edit").api - Added 3 new functions to the API:
createPreset(...),spawnPreset(...),getPreset(...)- Some very simple examples:
MassEdit.createPreset(_token)- Creates a Preset using the currently controlled token
MassEdit.spawnPreset({ name: "Blue Light" })- Spawns a preset named "Blue Light" on the current mouse position
MassEdit.getPreset({ name: "Spike Trap" })- Retrieves a preset by the name "Spike Trap"
/**
* Retrieve saved preset via uuid or name
* @param {object} [options={}]
* @param {String} [options.uuid] Preset UUID
* @param {String} [options.name] Preset name
* @param {String} [options.type] Preset type ("Token", "Tile", etc)
* @returns {Preset}
*/
static async getPreset({ uuid = null, name = null, type = null } = {})
/**
* Create Presets from provided placeables
* @param {PlaceableObject|Array[PlaceableObject]} placeables Placeable/s to create the presets from.
* @param {object} [options={}] Optional Preset information
* @param {String} [options.name] Preset name
* @param {String} [options.img] Preset thumbnail image
* @returns {Preset|Array[Preset]}
*/
static async createPreset(placeables, options = {})
/**
* Spawn a preset on the scene (id, name or preset are required).
* @param {object} [options={}]
* @param {Preset} [options.preset] Preset
* @param {String} [options.id] Preset ID
* @param {String} [options.name] Preset name
* @param {String} [options.type] Preset type ("Token", "Tile", etc)
* @param {Number} [options.x] Spawn canvas x coordinate (required if spawnOnMouse is false)
* @param {Number} [options.y] Spawn canvas y coordinate (required if spawnOnMouse is false)
* @param {Boolean} [options.spawnOnMouse] If 'true' current mouse position will be used as the spawn position
* @param {Boolean} [options.snapToGrid] If 'true' snaps spawn position to the grid.
* @param {Boolean} [options.hidden] If 'true' preset will be spawned hidden.
* @param {Boolean} [options.layerSwitch] If 'true' the layer of the spawned preset will be activated.
* @returns {Array[Document]}
*/
static async spawnPreset({ uuid = null, preset = null, name = null, type = null, x = null, y = null, spawnOnMouse = true, snapToGrid = true, hidden = false, layerSwitch = false } = {})Presets
- Placeable data can now be edited after selected
Editunder preset context options - Added
Duplicatecontext menu options
Presets
- UI has been completely reworked
- Search
- Manual and alphanumeric sorting
- Manage presets within folders
- Convenient category and layer switching
- Create presets by dragging placeables onto the preset window
- Drag presets out onto the canvas to create placeables
- Each preset is now a Journal that exists within a hidden compendium and is only loaded when needed
- Export presets to JSON files or unlocked Journal compendiums
- Mass Edit preset compendiums are collated and displayed within the preset window
- Multi-select and multi-editing
Misc.
- Fixed Brush tool triggering drag-select or placement of new placeables upon click
- Fixed
DungeonDraft (TMFX)field not properly applying the filter Limitsmodule support
- Flags tab has been removed until the duplicate value issue is resolved
- Fixed wall searches panning to the canvas corner instead of the found walls
- Fixed
arrayandjsonArrayinputs not being properly processed inFlagtabs
- Fixed
Search formnot selecting placeables after the search has been completed
Apply JSON Dataform will now contain all currently selected fields in it- Fixed an issue with nested data not being properly applied
- New setting:
Flags Tab- When enabled flags found on the document will be included in the
Mass Editform under theFlagstab - Flags can be removed by toggling the trash can icon next to them
- When enabled flags found on the document will be included in the
Generic Formswill no longer display empty tabs if the object they represent contains only null fields
- Warning fixes
Deletebutton will now always be displayed
- Fixed Mass Edit forms not closing after performing updates on AmbientLights
- Fixed errors thrown when switching scenes with Mass Edit form still open and attempting to perform an update after
- Fixed the closing of Token and AmbientLight Mass Edit forms without performing update resulting in their respective layers freezing on v11
- Fixed Token and AmbientLight mass updates causing their respective layers to freeze on v11
- Fixed TMFX fields in Mass Edit forms not applying filters
- v11 support
- Fix Token Prototype edit using
Multiple Document Selectionmodule
- Active Effect preset support
- New options available when selecting
[ME]next toAttribute Keyin Active Effect configuration form - Allows saving, applying, importing and exporting of
Effectstab
- New options available when selecting
- Removed JSON header button from Mass Edit forms
- Same information can be be found by accessing the Macro Generator
- Removed
Shift-CandShift-VkeybindingsCtrl-Cwill copy data within opened Mass Edit forms, both to the module's and browser's clipboardsCtrl-Vwill paste copied data into selected placeables or text boxes
- Added a new header button:
Apply JSON Data- Opens up a dialog to allow data to pasted in and applied to the form
Patreon
- Improved positioning placement of spawned placeables
Ctrl-Vwill spawn a default placeable using the clipboard fields if no placeable is selected
- Clickable text added to
Active Effect Configuration>Effect>Attribute Key- Will open up and allow to apply presets in the same manner as
Shift-Xkeybinding
- Will open up and allow to apply presets in the same manner as
- Preset Forms can now populate Active Effect
Effectstab- Presets need to be accessed using the
Shift+Xkeybinding while an Active Effect configuration form is open Tokenpresets will populate theEffectstab with ATL prefixed keys (ATE module required)
- Presets need to be accessed using the
- Turned off field validation for Generic forms
- Presets can now be dragged around with a mouse to change their order
- You can change preset background color by right-clicking them
PATREON
- Dragging presets outside the form will spawn a placeable containing preset data
- If done while holding the ALT key the placeable will be set as hidden
- Adjusted button layout in TMFX Editor macro
Macros
TMFX - Editor- Can now save TMFX filters under
MAINandTEMPLATElibraries MAIN: Default library used by modules such as ATETEMPLATE: Primarily used by TMFX itself. Auto Template Effects will source presets from here
- Can now save TMFX filters under
TMFX - Apply Preset- Can now apply presets from both
MAINandTEMPLATElibraries
- Can now apply presets from both
Macro Generator
- Targeting options now supports 3 scopes:
Selected,Scene, andWorld- e.g while targeting
ALL, with scopeScene, the generated macro will retrieve all placeables on the active scene
- e.g while targeting
- New targeting option:
Search- Will perform field searches to determine targets for the macro
- e.g. targeting Tokens that match a specific name or disposition
- Wildcards (
*) can be used here the same way as with Mass Search forms
- Will perform field searches to determine targets for the macro
Application Methodoption has been renamed toAction- In addition to
UpdateandTogglethe generator now also providesOpen Mass Edit FormandDeleteoptions
- In addition to
- Macros can now be created for non-placeables
- Items, Cards, RollTables, Actors, JournalEntries, and Scenes
- These documents will have certain options restricted like
SceneandSelectedscopeSelectedscope can be accessed by installingMultiple Document Selectionmodule
Mass Edit form
- Updates now work across scenes, meaning the form can be opened on one scene and still successfully applied if kept open after switching to another scene
- Mass Search now supports non-placeable documents (Items, Cards, RollTables, Actors, JournalEntries, and Scenes)
Mass Searchforms (Shift+F) now support cross-scene searches- Enabled via a new checkbox added to the bottom of the form
- Will look for placeables across all scenes
- Found placeables can be deleted via a new trash button
- Added some inbuilt custom control for GeenricForms
- Update macros in compendium
- Variables with 'path' in their names will now have FilePickers present in GenericForms
- Exposing showMassEdit(...) through module's api
- accepts an object or a list of objects and opens up a MassEdit form for them
- e.g.
game.modules.get("multi-token-edit").api.showMassEdit(canvas.tokens.placeables)
- Fields inserted by mass edit will now be assigned their own colours
- New CSS class:
meInsert
- New CSS class:
- Tile Mass Edit forms will now contain a
Scalefield that can be used to adjust Tile width and height simultaneously and proportionally - Fixed Mass Edit forms becoming frozen in some cases and unable to be closed
Patreon
- Randomizer options can now be re-opened and edited after being set
- Allows for easier testing and micro-adjustment of the randomizer
- Allows for presets containing randomization to be applied to the form and have their options changed
- 'Tile Scale (Horizontal|Vertical)' field added to Tile forms to allow for randomizing vertical and horizontal scale simultaneously
- 'TMFX Preset' and 'DDTint' fields are now supported in Macro Generator
- A Mass Edit dependency warning will be shown when these fields are selected
- Implemented a workaround for TMFX bug related to re-applying the same preset multiple times on the same placeable
- Shortened/simplified macros generated with the ME dependency
- Fixed
Shift+Cnot triggering a field copy on opened Mass Update forms
Patreon
- Extended wildcard support to
Find and Replace
- Mass Search now supports wildcards:
*- Goblin*
- *Goblin
- Gn*
- Previously a PATREON only feature, Macro Generator can now be accessed via the the header button:
>_
- Right-click tab click support for
Monk's Active Tilesmodule - Fixing layout issue for automatic apply checkboxes inside Templates, Walls, AmbientSounds, and Notes
- Right-clicking the navigation tabs on Mass Edit forms will now toggle all Mass Edit checkboxes within it
- Preset bug fix
- Auto apply update toggle on the side of Mass Edit forms has been replaced with checkboxes next to 'Apply' buttons
- New control added to the side of Mass Edit forms
- When toggled changes on the Mass Edit forms will immediately trigger updates of the objects it is linked to
- New Setting:
Insert TMFX Fields- When enabled Token and Tile Mass Edit forms will be inserted with fields to apply/remove TokenMagicFX filters
- DungeonDraft Tint (TMFX)
- Preset (TMFX)
- When enabled Token and Tile Mass Edit forms will be inserted with fields to apply/remove TokenMagicFX filters
- Fixing broken release link
Brush Tool added
- Available in Mass Edit forms and standalone preset form (Shift+X)
- When selected the cursor is transformed to a brush allowing you click and drag over placeables to apply the fields selected in the Mass Edit form or the relevant preset
- To deactivate the tool you can:
- Press the middle mouse button
- Close the form
- Click on the brush tool again
- 3D Canvas is supported
Misc.
- Shift+X will now open the preset form for the currently active layer even if no placeable is selected or hovered over
- 3D Canvas shaders are now supported in Mass Edit forms for Tiles and Tokens
- Macro Compendium added
- Currently includes:
- TMFX Editor
- TMFX Apply Preset
- Configure color replace Vision Mode
- Currently includes:
- Compatibility fix for 'Health Estimate'
- Presets can now be registered as controls
- This is done by clicking the new gamepad icon added to the preset menu
- Requires game reload for the control to be registered
- Registered controls can be found under Configure Controls > Mass Edit
- Small Time module compatibility fix
- New Setting: Pan to Search
- Automatically centers the screen on found placeables
Generic Forms
- Labels of numeric and text inputs can now be right-clicked and converted to sliders and dropdown boxes
- Input containing arrays will no longer be disabled. Instead they can be edited as text input
- Double click the text boxes to display a resizable popups
- Small bug fix
Generic Form
- Now provides pickers for numerical color fields
- A function can be passed as 'inputChangeCallback' to return selected fields every time form input changes
- Added horizontal scrollbar for particularly long navigation bars
Generic Forms
- Implemented a Generic Mass Edit form that can be opened for any list of objects
- Behaves as any other Mass Edit form with one notable exception; fields can be pinned and renamed for easier access
- Through this form partial support is now provided for Actors, Items, RollTables, JournalEntries, and Cards
- A new header button has been added to Actor/Token forms to switch between them
- Shift+E will now open generic forms for documents that do not have their own sheets
- New keybinding: Shift+R
- Will open Actor form for selected tokens without needing to switch to it through the Token form
- New method added to the API:
showGenericForm- e.g.
game.modules.get("multi-token-edit").api.showGenericForm({abc : 1, def: "foo"}) - Returns a promise that will be resolved once the Mass Edit form has been submitted
- The form will directly update the object/s passed to it
- A custom name can given to the function which will be used to determine presets and pinned fields available in the form
- e.g.
showGenericForm({color1: '#ffffff', color2: '#000000'}, 'ColorMixer')
- e.g.
- e.g.
- AmbientLight and AmbientSound forms will now include a 'Hidden' field allowing them to be turned on/off en masse
- Began localization process
- History Randomizer and Add/Subtract bug fixes
- Add/Subtract bug fixes
- Fixed Tagger field parsing bug
Patreon: Macro Generation
- Generated Macros will now check and throw dependency warnings
- Removed non-empty selection restriction
- Added visibility control
- Support added for Randomizer and Add/subtract
- Added 'All in active Scene' targeting option
- Added 'Tagger' targeting option in macro generator
- Adding/Subtracting support for text fields
- Text marked for removal will be removed from anywhere within the field
- Text marked to be added will be inserted at the end of the field
- Text to be added can be prefixed with >> to insert it at the beginning of the field
Patreon
- First iteration of Macro Generator
- Accessed via a new header button
- Allows to generate update/toggle macros for the currently selected or selected at macro run-time placeables using the fields in the Mass Edit form
- Added PlaylistSound support when selected using MDS module
- Fixed Note history update errors
- Fixed PrototypeToken updates not appearing in history
- Fixed PrototypeToken updates via MDS module not applying in some cases
- Changed the look of tabs containing checked Mass Edit checkboxes
- New setting: Update History
- Requires game re-load to take effect
- When enabled updates made to placeables will be tracked and accessible via Mass Edit forms
- Past updates can be selected to be applied on the currently open Mass Edit form or copied to the modules "clipboard"
- Updates applied to forms are limited to the fields available on the form itself, while updates copied to the clipboard are not
- The doc affected by the update can be panned to
- Mass Edit's randomization is supported and will be tracked in history
- New Setting: History Max Length
- Controls how many updates will be stored by the module
- Mass Edit's checkboxes will now auto-select as soon as the user begins to type in text boxes
- Tabs will now be highlighted if they contain checked Mass Edit checkboxes
- Fixed Mass Search not selecting all matched placeables on v10
- Select check-boxes should now auto-select immediately when pasting text
- New controls to order presets and update/refresh them using currently selected fields
- Mass Edit forms have a new header button (</>) to display selected fields as JSON
- Added an option to export presets for ALL placeable at once
- New key-binding: Shift+X
- Opens preset dialog for currently selected/hovered placeables to immediately apply them
- New setting: Allow manual input for range sliders
- Converts slider value labels to text boxes
- Hovered over placeable will now always be attempted to be used as the "base" for the displayed form
- With placeables selected hover over the placeable you wish to open the form for and press one of the key-bindings to open a Mass Edit form
- Should be useful when wishing to apply data from a particular placeable to the others
Tagger module support
- Tagger fields now support adding/removing
- Improved searching using Tagger fields
- Instead of attempting an exact match the module will treat entered strings as comma separated tags and will return a match as true if all tags being searched are present in a placeable
- Order of tags does not matter
Patreon
- Improved color randomization
- Exposed Color.js settings to control color space and hue
- Randomizer will now default to HSL/Longer with a full color palette
- Find and Replace
- Randomizer menus now allow to search string fields and replace text within them
- Mass permission editing support for Notes and Actors
- New header button is available in the Mass Edit forms
- Fixed note search using icons not working as intended on v10
- Fixed common data highlighting for token scale/mirroring and note icons on v10
- Numerical values can now be added or subtracted using Right-click
- Import/Export of Presets
- Scenes will no longer appear as an option in placeable search (Shift+F)
- Shift+C will now copy data from an already open Mass Config form
- If no form is open it will default to the original behaviour
- Fix for flags removed using -= notation not being picked up during Mass Updates
- Fixing flags not being read/applied properly due to un-flattened form data
- Added support for JournalEntry selections performed using 'Multiple Document Selection' module
- Mass Edit key-bindings will open up configuration windows for Notes corresponding to selected Journals
- Updates can be performed just on the current scene or across all scenes
- Fixed Note icon updates failing on Foundry v10
- Config Forms that re-render themselves should no longer wipe currently selected fields
- Fixed v10 token scale related bugs
- v10 Token Detection Modes are now fully supported
- Works with Edit, Search, Copy, and Paste
- Instead of overriding all detection modes the module will attempt to merge the update with the existing modes
Patreon
- To make it more comfortable to manually select checkboxes randomizer will no longer use clickable dice icons. Instead the checkboxes added by the module can now be right-clicked and will show spinning backgrounds when randomization is enabled for that field
- Fixed checkboxes not being selected in some cases when using presets
- Fixed Token scale/mirror updates not registering in v10
- note: there are still issues with updating scale and mirroring independently using the module in v10
- v10 support
- SmallTime module support
- Presets will now display the fields they will modify when hovered over
- 'Tagger' module fields should now again work in modified config windows
- Changed default 'Shift+E' shortcut behaviour when only a single placeable is selected or hovered over
- Instead of opening the default configuration window the modified window will always be shown regardless of the number of placeables selected
- Previous behaviour can still be achieved via a new setting: Single Placeable: Default Config
- Fixed Presets not saving
New features:
-
Copy/Paste
- Placeable data can now be copied using 'Shift+C' and pasted on currently selected or hovered over placeable using 'Shift+V'. (kebindings can be re-configured)
- Each placeable type has their own "clipboard"
-
Presets
- Modified configuration windows now have a new header button: 'Presets'
- Allows to save currently selected fields and apply them later
- Each placeable type has their own preset list
Misc.
- Added support for Monk's Active Tiles
- Fixed 'Apply and Update Prototypes' button not updating the prototype token
- Now works together with Actors and Scenes selected using 'Multiple Document Selection' module
- For convenience 'Shift+E' will now open up the default configuration window for hovered over placeables or single documents selected using 'Multiple Document Selection' module
- Shift+F keybinding will now check for hovered over placeables to be used as the base of the search
- Should make it easier to find similar non-selectable placeables such as AmbientLights
- Formerly 'Multi-Token Edit'
- Name changed to better reflect capabilities of the module
- New setting added: Configure CSS
- Lets to change the look of the modified configuration window
- Comes with some pre-made styles but can also be configured further using the CUSTOM style
- Added a new 'Apply and Update Prototypes' button to Multi-Token EDIT window.
- When pressed will apply changes to both the token on the scene as well as the prototype
-
Added support for Tiles, Drawings, Walls, AmbientLights, AmbientSounds, MeasuredTemplates and Notes
-
New key-binding: Open Placeable Search and Select
- Opens a configuration window allowing the user to choose fields to perform a search with on the current scene and either select or select and edit all the found placeables
- If no placeable is currently selected a Dialog will be opened to choose which type of placeable is to be searched.
-
Improved handling of null, undefined and empty string data
-
Added new buttons to Token and Tile HUDs to open Multi-Edit if multiple tokens or tiles are selected.
- As flags in the Token Configuration cannot be easily diff'd to determine what is actually common between the Tokens, they will now be highlighted with their own unique colour.
- Added custom title to the multi-token edit window
- Clicking form-group buttons will now also trigger the selection of the apply field checkbox.
- Initial implementation of Multi-Token Edit