Save the following code as a .js file and place it directly beneath this plugin - should fix your issue.
(() => {
if (!Imported.Drag_TilemapMask || !Drag.TilemapMask) {
console.warn("Drag_TilemapMask_MultiMaskNoFlashFix: Drag_TilemapMask.js is required.");
return;
}
let _isRestoringMasks = false;
const _originalSetMask = Drag.TilemapMask.setMask;
Drag.TilemapMask.setMask = function(startX, endX, startY, endY, z, r, g, b, opacity, fadeInShaderDuration, excludeTransparentTiles) {
if (!_isRestoringMasks) {
$gameMap._tileMaskDataList = $gameMap._tileMaskDataList || [];
$gameMap._tileMaskDataList.push({
startX, endX, startY, endY,
z, r, g, b,
opacity, fadeInShaderDuration,
excludeTransparentTiles
});
}
_originalSetMask.apply(this, arguments);
};
const _originalClearMask = Drag.TilemapMask.clearMask;
Drag.TilemapMask.clearMask = function() {
_originalClearMask.apply(this, arguments);
$gameMap._tileMaskDataList = [];
};
const _Scene_Map_start = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
const maskList = $gameMap._tileMaskDataList;
if (maskList && maskList.length > 0) {
_isRestoringMasks = true;
for (const mask of maskList) {
Drag.TilemapMask.setMask(
mask.startX, mask.endX,
mask.startY, mask.endY,
mask.z, mask.r, mask.g, mask.b,
mask.opacity, mask.fadeInShaderDuration,
mask.excludeTransparentTiles
);
}
_isRestoringMasks = false;
}
_Scene_Map_start.call(this);
};
})();