adjust to id change
544
gulpfile.ts
|
|
@ -1,29 +1,28 @@
|
||||||
import * as gulp from "gulp"
|
import * as gulp from "gulp";
|
||||||
import fs from "fs-extra"
|
import fs from "fs-extra";
|
||||||
import * as path from "path"
|
import * as path from "path";
|
||||||
import archiver from "archiver"
|
import archiver from "archiver";
|
||||||
import stringify from "json-stringify-pretty-compact"
|
import stringify from "json-stringify-pretty-compact";
|
||||||
|
|
||||||
const sourcemaps = require('gulp-sourcemaps')
|
const sourcemaps = require("gulp-sourcemaps");
|
||||||
const uglify = require('gulp-uglify')
|
const uglify = require("gulp-uglify");
|
||||||
const concat = require("gulp-concat")
|
const concat = require("gulp-concat");
|
||||||
const buffer = require('vinyl-buffer')
|
const buffer = require("vinyl-buffer");
|
||||||
const source = require('vinyl-source-stream')
|
const source = require("vinyl-source-stream");
|
||||||
const through = require('through2')
|
const through = require("through2");
|
||||||
const jsonminify = require('gulp-jsonminify')
|
const jsonminify = require("gulp-jsonminify");
|
||||||
const merge2 = require('merge2')
|
const merge2 = require("merge2");
|
||||||
|
|
||||||
const git = require('gulp-git-streamed')
|
const git = require("gulp-git-streamed");
|
||||||
|
|
||||||
const loadJson = (path: string): any => {
|
const loadJson = (path: string): any => {
|
||||||
try {
|
try {
|
||||||
let str = fs.readFileSync(path).toString()
|
let str = fs.readFileSync(path).toString();
|
||||||
return JSON.parse(str)
|
return JSON.parse(str);
|
||||||
|
} catch {
|
||||||
|
throw Error("Unable to load " + path);
|
||||||
}
|
}
|
||||||
catch {
|
};
|
||||||
throw Error("Unable to load " + path)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
createLiteral,
|
createLiteral,
|
||||||
|
|
@ -38,36 +37,36 @@ import {
|
||||||
TransformerFactory,
|
TransformerFactory,
|
||||||
visitEachChild,
|
visitEachChild,
|
||||||
visitNode,
|
visitNode,
|
||||||
} from "typescript"
|
} from "typescript";
|
||||||
import less from "gulp-less"
|
import less from "gulp-less";
|
||||||
|
|
||||||
import Logger from "./source/utils/Logger"
|
import Logger from "./source/utils/Logger";
|
||||||
import {ModuleData} from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/packages.mjs"
|
import { ModuleData } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/packages.mjs";
|
||||||
import browserify from "browserify"
|
import browserify from "browserify";
|
||||||
const tsify = require("tsify")
|
const tsify = require("tsify");
|
||||||
|
|
||||||
const ts = require("gulp-typescript")
|
const ts = require("gulp-typescript");
|
||||||
|
|
||||||
const argv = require("yargs").argv
|
const argv = require("yargs").argv;
|
||||||
|
|
||||||
let distPath = "dist"
|
let distPath = "dist";
|
||||||
|
|
||||||
function getConfig() {
|
function getConfig() {
|
||||||
const configPath = path.resolve(process.cwd(), "foundryconfig.json")
|
const configPath = path.resolve(process.cwd(), "foundryconfig.json");
|
||||||
let config
|
let config;
|
||||||
|
|
||||||
if (fs.existsSync(configPath)) {
|
if (fs.existsSync(configPath)) {
|
||||||
config = loadJson(configPath)
|
config = loadJson(configPath);
|
||||||
return config
|
return config;
|
||||||
} else {
|
} else {
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Manifest {
|
interface Manifest {
|
||||||
root: string
|
root: string;
|
||||||
file: ModuleData
|
file: ModuleData;
|
||||||
name: string
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const getManifest = (): Manifest | null => {
|
const getManifest = (): Manifest | null => {
|
||||||
|
|
@ -75,237 +74,214 @@ const getManifest = (): Manifest | null => {
|
||||||
root: "",
|
root: "",
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
file: {},
|
file: {},
|
||||||
name: ""
|
name: "",
|
||||||
}
|
};
|
||||||
|
|
||||||
if (fs.existsSync("source")) {
|
if (fs.existsSync("source")) {
|
||||||
json.root = "source"
|
json.root = "source";
|
||||||
} else {
|
} else {
|
||||||
json.root = distPath
|
json.root = distPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
const modulePath = path.join(json.root, "module.json")
|
const modulePath = path.join(json.root, "module.json");
|
||||||
const systemPath = path.join(json.root, "system.json")
|
const systemPath = path.join(json.root, "system.json");
|
||||||
|
|
||||||
if (fs.existsSync(modulePath)) {
|
if (fs.existsSync(modulePath)) {
|
||||||
json.file = loadJson(modulePath) as ModuleData
|
json.file = loadJson(modulePath) as ModuleData;
|
||||||
json.name = "module.json"
|
json.name = "module.json";
|
||||||
} else if (fs.existsSync(systemPath)) {
|
} else if (fs.existsSync(systemPath)) {
|
||||||
json.file = loadJson(systemPath) as ModuleData
|
json.file = loadJson(systemPath) as ModuleData;
|
||||||
json.name = "system.json"
|
json.name = "system.json";
|
||||||
} else {
|
} else {
|
||||||
return null
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return json
|
return json;
|
||||||
}
|
};
|
||||||
|
|
||||||
const createTransformer = (): TransformerFactory<any> => {
|
const createTransformer = (): TransformerFactory<any> => {
|
||||||
/**
|
/**
|
||||||
* @param {typescript.Node} node
|
* @param {typescript.Node} node
|
||||||
*/
|
*/
|
||||||
const shouldMutateModuleSpecifier = (node: Node): boolean => {
|
const shouldMutateModuleSpecifier = (node: Node): boolean => {
|
||||||
if (!isImportDeclaration(node) && !isExportDeclaration(node))
|
if (!isImportDeclaration(node) && !isExportDeclaration(node)) return false;
|
||||||
return false
|
if (node.moduleSpecifier === undefined) return false;
|
||||||
if (node.moduleSpecifier === undefined)
|
if (!isStringLiteral(node.moduleSpecifier)) return false;
|
||||||
return false
|
if (!node.moduleSpecifier.text.startsWith("./") && !node.moduleSpecifier.text.startsWith("../")) return false;
|
||||||
if (!isStringLiteral(node.moduleSpecifier))
|
|
||||||
return false
|
|
||||||
if (!node.moduleSpecifier.text.startsWith("./") && !node.moduleSpecifier.text.startsWith("../"))
|
|
||||||
return false
|
|
||||||
|
|
||||||
return path.extname(node.moduleSpecifier.text) === ""
|
return path.extname(node.moduleSpecifier.text) === "";
|
||||||
}
|
};
|
||||||
|
|
||||||
return (context: TransformationContext): TSTransformer<any> => {
|
return (context: TransformationContext): TSTransformer<any> => {
|
||||||
return (node: Node) => {
|
return (node: Node) => {
|
||||||
function visitor(node: Node): Node {
|
function visitor(node: Node): Node {
|
||||||
if (shouldMutateModuleSpecifier(node)) {
|
if (shouldMutateModuleSpecifier(node)) {
|
||||||
if (isImportDeclaration(node)) {
|
if (isImportDeclaration(node)) {
|
||||||
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`)
|
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`);
|
||||||
return factory.updateImportDeclaration(node, node.decorators, node.modifiers, node.importClause, newModuleSpecifier, undefined)
|
return factory.updateImportDeclaration(node, node.decorators, node.modifiers, node.importClause, newModuleSpecifier, undefined);
|
||||||
} else if (isExportDeclaration(node)) {
|
} else if (isExportDeclaration(node)) {
|
||||||
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`)
|
const newModuleSpecifier = createLiteral(`${(node.moduleSpecifier as LiteralExpression).text}.js`);
|
||||||
return factory.updateExportDeclaration(node, node.decorators, node.modifiers, false, node.exportClause, newModuleSpecifier, undefined)
|
return factory.updateExportDeclaration(node, node.decorators, node.modifiers, false, node.exportClause, newModuleSpecifier, undefined);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return visitEachChild(node, visitor, context)
|
return visitEachChild(node, visitor, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
return visitNode(node, visitor)
|
return visitNode(node, visitor);
|
||||||
}
|
};
|
||||||
}
|
};
|
||||||
}
|
};
|
||||||
|
|
||||||
const tsConfig = ts.createProject("tsconfig.json", {
|
const tsConfig = ts.createProject("tsconfig.json", {
|
||||||
getCustomTransformers: (_program: any) => ({
|
getCustomTransformers: (_program: any) => ({
|
||||||
after: [createTransformer()],
|
after: [createTransformer()],
|
||||||
}),
|
}),
|
||||||
})
|
});
|
||||||
|
|
||||||
function buildTS() {
|
function buildTS() {
|
||||||
const debug = process.env.npm_lifecycle_event !== "package"
|
const debug = process.env.npm_lifecycle_event !== "package";
|
||||||
let res = tsConfig.src()
|
let res = tsConfig.src().pipe(sourcemaps.init()).pipe(tsConfig());
|
||||||
.pipe(sourcemaps.init())
|
|
||||||
.pipe(tsConfig())
|
|
||||||
|
|
||||||
return res.js
|
return res.js.pipe(sourcemaps.write("", { debug: debug, includeContent: true, sourceRoot: "./ts/source" })).pipe(gulp.dest(distPath));
|
||||||
.pipe(sourcemaps.write('', { debug: debug, includeContent: true, sourceRoot: './ts/source' }))
|
|
||||||
.pipe(gulp.dest(distPath))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const bundleModule = () => {
|
const bundleModule = () => {
|
||||||
const debug = argv.dbg || argv.debug
|
const debug = argv.dbg || argv.debug;
|
||||||
const bsfy = browserify(path.join(__dirname, "source/index.ts"), { debug: debug })
|
const bsfy = browserify(path.join(__dirname, "source/index.ts"), { debug: debug });
|
||||||
return bsfy.on('error', Logger.err)
|
return bsfy
|
||||||
|
.on("error", Logger.err)
|
||||||
.plugin(tsify)
|
.plugin(tsify)
|
||||||
.bundle()
|
.bundle()
|
||||||
.pipe(source(path.join(distPath, "bundle.js")))
|
.pipe(source(path.join(distPath, "bundle.js")))
|
||||||
.pipe(buffer())
|
.pipe(buffer())
|
||||||
.pipe(sourcemaps.init({loadMaps: true}))
|
.pipe(sourcemaps.init({ loadMaps: true }))
|
||||||
.pipe(uglify())
|
.pipe(uglify())
|
||||||
.pipe(sourcemaps.write('./'))
|
.pipe(sourcemaps.write("./"))
|
||||||
.pipe(gulp.dest('./'))
|
.pipe(gulp.dest("./"));
|
||||||
}
|
};
|
||||||
|
|
||||||
const buildLess = () => {
|
const buildLess = () => {
|
||||||
return gulp.src("source/style/*.less")
|
return gulp.src("source/style/*.less").pipe(less()).pipe(concat("bundle.css")).pipe(gulp.dest(distPath));
|
||||||
.pipe(less())
|
};
|
||||||
.pipe(concat("bundle.css"))
|
|
||||||
.pipe(gulp.dest(distPath))
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Pack {
|
interface Pack {
|
||||||
root: string,
|
root: string;
|
||||||
type: string,
|
type: string;
|
||||||
name: string
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const buildPack = (pack: Pack): NodeJS.ReadWriteStream => {
|
const buildPack = (pack: Pack): NodeJS.ReadWriteStream => {
|
||||||
return gulp.src(pack.root + "/" + pack.type + "/" + pack.name + "/*.json")
|
return gulp
|
||||||
|
.src(pack.root + "/" + pack.type + "/" + pack.name + "/*.json")
|
||||||
.pipe(jsonminify())
|
.pipe(jsonminify())
|
||||||
.pipe(concat(pack.name + ".db"))
|
.pipe(concat(pack.name + ".db"))
|
||||||
.pipe(gulp.dest(distPath + "/" + pack.root + "/" + pack.type))
|
.pipe(gulp.dest(distPath + "/" + pack.root + "/" + pack.type));
|
||||||
}
|
};
|
||||||
|
|
||||||
const buildPacks = () => {
|
const buildPacks = () => {
|
||||||
let packs: Pack[] = []
|
let packs: Pack[] = [];
|
||||||
|
|
||||||
const rootDir = "packs"
|
const rootDir = "packs";
|
||||||
const packTypes = fs.readdirSync(rootDir).filter(p => fs.statSync(path.join(rootDir, p)).isDirectory())
|
const packTypes = fs.readdirSync(rootDir).filter((p) => fs.statSync(path.join(rootDir, p)).isDirectory());
|
||||||
packTypes.forEach(packType => {
|
packTypes.forEach((packType) => {
|
||||||
const packDir = path.join(rootDir, packType)
|
const packDir = path.join(rootDir, packType);
|
||||||
const packNames = fs.readdirSync(packDir).filter(p => fs.statSync(path.join(packDir, p)).isDirectory())
|
const packNames = fs.readdirSync(packDir).filter((p) => fs.statSync(path.join(packDir, p)).isDirectory());
|
||||||
packNames.forEach(packName => {
|
packNames.forEach((packName) => {
|
||||||
packs.push({
|
packs.push({
|
||||||
name: packName,
|
name: packName,
|
||||||
type: packType,
|
type: packType,
|
||||||
root: rootDir
|
root: rootDir,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
return merge2(packs.map(p => buildPack(p)))
|
return merge2(packs.map((p) => buildPack(p)));
|
||||||
}
|
};
|
||||||
|
|
||||||
const copyFiles = async() => {
|
const copyFiles = async () => {
|
||||||
const recursiveFileSearch = (dir: string, callback: (err: NodeJS.ErrnoException | null, res: Array<string>) => void) => {
|
const recursiveFileSearch = (dir: string, callback: (err: NodeJS.ErrnoException | null, res: Array<string>) => void) => {
|
||||||
let results: Array<string> = []
|
let results: Array<string> = [];
|
||||||
fs.readdir(dir, (err, list) => {
|
fs.readdir(dir, (err, list) => {
|
||||||
if (err)
|
if (err) return callback(err, results);
|
||||||
return callback(err, results)
|
|
||||||
|
|
||||||
let pending = list.length
|
let pending = list.length;
|
||||||
if (!pending)
|
if (!pending) return callback(null, results);
|
||||||
return callback(null, results)
|
|
||||||
|
|
||||||
for (let file of list) {
|
for (let file of list) {
|
||||||
file = path.resolve(dir, file)
|
file = path.resolve(dir, file);
|
||||||
fs.stat(file, (err, stat) => {
|
fs.stat(file, (err, stat) => {
|
||||||
if (stat && stat.isDirectory()) {
|
if (stat && stat.isDirectory()) {
|
||||||
recursiveFileSearch(file, (err, res) => {
|
recursiveFileSearch(file, (err, res) => {
|
||||||
results = results.concat(res)
|
results = results.concat(res);
|
||||||
if (!--pending)
|
if (!--pending) callback(null, results);
|
||||||
callback(null, results)
|
});
|
||||||
})
|
} else {
|
||||||
|
results.push(file);
|
||||||
|
if (!--pending) callback(null, results);
|
||||||
}
|
}
|
||||||
else {
|
});
|
||||||
results.push(file)
|
|
||||||
if (!--pending)
|
|
||||||
callback(null, results)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
try {
|
try {
|
||||||
|
const modulePath = path.join("source", "module.json");
|
||||||
const modulePath = path.join("source", "module.json")
|
if (fs.existsSync(modulePath)) await fs.copyFile(modulePath, path.join(distPath, "module.json"));
|
||||||
if (fs.existsSync(modulePath))
|
|
||||||
await fs.copyFile(modulePath, path.join(distPath, "module.json"))
|
|
||||||
|
|
||||||
const systemPath = path.join("source/system.json")
|
const systemPath = path.join("source/system.json");
|
||||||
if (fs.existsSync(systemPath))
|
if (fs.existsSync(systemPath)) await fs.copyFile(systemPath, path.join(distPath, "system.json"));
|
||||||
await fs.copyFile(systemPath, path.join(distPath, "system.json"))
|
|
||||||
|
if (!fs.existsSync(path.resolve(__dirname, "assets"))) return Promise.resolve();
|
||||||
if (!fs.existsSync(path.resolve(__dirname, "assets")))
|
|
||||||
return Promise.resolve()
|
|
||||||
|
|
||||||
const filter = (src: string, dest: string): boolean => {
|
const filter = (src: string, dest: string): boolean => {
|
||||||
Logger.ok("Copying file: " + dest)
|
Logger.ok("Copying file: " + dest);
|
||||||
return true
|
return true;
|
||||||
}
|
};
|
||||||
|
|
||||||
await fs.copyFile(path.join("source", "template.json"), path.join(distPath, "template.json"))
|
|
||||||
|
|
||||||
fs.copySync(path.resolve(__dirname, "assets"), path.resolve(__dirname, distPath + "/assets"), { overwrite: true, filter })
|
await fs.copyFile(path.join("source", "template.json"), path.join(distPath, "template.json"));
|
||||||
fs.copySync(path.resolve(__dirname, "lang"), path.resolve(__dirname, distPath + "/lang"), { overwrite: true, filter })
|
|
||||||
|
fs.copySync(path.resolve(__dirname, "assets"), path.resolve(__dirname, distPath + "/assets"), { overwrite: true, filter });
|
||||||
|
fs.copySync(path.resolve(__dirname, "lang"), path.resolve(__dirname, distPath + "/lang"), { overwrite: true, filter });
|
||||||
//fs.copySync(path.resolve(__dirname, "packs"), path.resolve(__dirname, distPath + "/packs"), { overwrite: true, filter })
|
//fs.copySync(path.resolve(__dirname, "packs"), path.resolve(__dirname, distPath + "/packs"), { overwrite: true, filter })
|
||||||
fs.copySync(path.resolve(__dirname, "templates"), path.resolve(__dirname, distPath + "/templates"), { overwrite: true, filter })
|
fs.copySync(path.resolve(__dirname, "templates"), path.resolve(__dirname, distPath + "/templates"), { overwrite: true, filter });
|
||||||
return Promise.resolve()
|
return Promise.resolve();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
await Promise.reject(err)
|
await Promise.reject(err);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
const cleanDist = async () => {
|
const cleanDist = async () => {
|
||||||
if (argv.dbg || argv.debug)
|
if (argv.dbg || argv.debug) return;
|
||||||
return
|
Logger.log("Cleaning dist file clutter");
|
||||||
Logger.log("Cleaning dist file clutter")
|
|
||||||
|
|
||||||
const files: string[] = []
|
const files: string[] = [];
|
||||||
const getFiles = async (dir: string) => {
|
const getFiles = async (dir: string) => {
|
||||||
const arr = await fs.promises.readdir(dir)
|
const arr = await fs.promises.readdir(dir);
|
||||||
for(const entry of arr)
|
for (const entry of arr) {
|
||||||
{
|
const fullPath = path.join(dir, entry);
|
||||||
const fullPath = path.join(dir, entry)
|
const stat = await fs.promises.stat(fullPath);
|
||||||
const stat = await fs.promises.stat(fullPath)
|
if (stat.isDirectory()) await getFiles(fullPath);
|
||||||
if (stat.isDirectory())
|
else files.push(fullPath);
|
||||||
await getFiles(fullPath)
|
|
||||||
else
|
|
||||||
files.push(fullPath)
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
await getFiles(path.resolve(distPath))
|
await getFiles(path.resolve(distPath));
|
||||||
for(const file of files) {
|
for (const file of files) {
|
||||||
if (file.endsWith("bundle.js") || file.endsWith(".css") || file.endsWith("module.json"))
|
if (file.endsWith("bundle.js") || file.endsWith(".css") || file.endsWith("module.json")) continue;
|
||||||
continue
|
|
||||||
|
|
||||||
Logger.warn("Cleaning " + path.relative(process.cwd(), file))
|
Logger.warn("Cleaning " + path.relative(process.cwd(), file));
|
||||||
await fs.promises.unlink(file)
|
await fs.promises.unlink(file);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Watch for changes for each build step
|
* Watch for changes for each build step
|
||||||
*/
|
*/
|
||||||
const buildWatch = () => {
|
const buildWatch = () => {
|
||||||
gulp.watch("source/**/*.ts", { ignoreInitial: false }, gulp.series(buildTS, bundleModule))
|
gulp.watch("source/**/*.ts", { ignoreInitial: false }, gulp.series(buildTS, bundleModule));
|
||||||
gulp.watch("source/**/*.less", { ignoreInitial: false }, buildLess)
|
gulp.watch("source/**/*.less", { ignoreInitial: false }, buildLess);
|
||||||
gulp.watch("packs", { ignoreInitial: false }, buildPacks)
|
gulp.watch("packs", { ignoreInitial: false }, buildPacks);
|
||||||
gulp.watch(["assets", "lang", "templates", "source/*.json"], { ignoreInitial: false }, copyFiles)
|
gulp.watch(["assets", "lang", "templates", "source/*.json"], { ignoreInitial: false }, copyFiles);
|
||||||
}
|
};
|
||||||
|
|
||||||
/********************/
|
/********************/
|
||||||
/* CLEAN */
|
/* CLEAN */
|
||||||
|
|
@ -316,67 +292,64 @@ const buildWatch = () => {
|
||||||
* while ignoring source files
|
* while ignoring source files
|
||||||
*/
|
*/
|
||||||
const clean = async () => {
|
const clean = async () => {
|
||||||
if (!fs.existsSync(distPath))
|
if (!fs.existsSync(distPath)) fs.mkdirSync(distPath);
|
||||||
fs.mkdirSync(distPath)
|
|
||||||
else {
|
else {
|
||||||
// Attempt to remove the files
|
// Attempt to remove the files
|
||||||
try {
|
try {
|
||||||
fs.rmSync(distPath, { recursive: true, force: true })
|
fs.rmSync(distPath, { recursive: true, force: true });
|
||||||
fs.mkdirSync(distPath)
|
fs.mkdirSync(distPath);
|
||||||
return Promise.resolve()
|
return Promise.resolve();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
await Promise.reject(err)
|
await Promise.reject(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
const setTargetDir = async () => {
|
const setTargetDir = async () => {
|
||||||
const dp = process.env.FOUNDRY_PATH
|
const dp = process.env.FOUNDRY_PATH;
|
||||||
if (!dp)
|
if (!dp) throw Error("FOUNDRY_PATH not defined in environment");
|
||||||
throw Error("FOUNDRY_PATH not defined in environment")
|
|
||||||
|
const name = getManifest()!.file.name ?? "midgard5e";
|
||||||
const name = getManifest()!.file.name ?? "midgard5"
|
distPath = path.join(dp, "Data", "systems", name);
|
||||||
distPath = path.join(dp, "Data", "systems", name)
|
};
|
||||||
}
|
|
||||||
|
|
||||||
const linkUserData = async () => {
|
const linkUserData = async () => {
|
||||||
const name = getManifest()!.file.name
|
const name = getManifest()!.file.name;
|
||||||
|
|
||||||
let destDir
|
let destDir;
|
||||||
try {
|
try {
|
||||||
if (fs.existsSync(path.resolve(".", distPath, "module.json")) || fs.existsSync(path.resolve(".", "source", "module.json"))) {
|
if (fs.existsSync(path.resolve(".", distPath, "module.json")) || fs.existsSync(path.resolve(".", "source", "module.json"))) {
|
||||||
destDir = "modules"
|
destDir = "modules";
|
||||||
} else if (fs.existsSync(path.resolve(".", distPath, "system.json")) || fs.existsSync(path.resolve(".", "source", "system.json"))) {
|
} else if (fs.existsSync(path.resolve(".", distPath, "system.json")) || fs.existsSync(path.resolve(".", "source", "system.json"))) {
|
||||||
destDir = "systems"
|
destDir = "systems";
|
||||||
} else {
|
} else {
|
||||||
throw Error(`Could not find module.json or system.json`)
|
throw Error(`Could not find module.json or system.json`);
|
||||||
}
|
}
|
||||||
|
|
||||||
let linkDir
|
let linkDir;
|
||||||
const dataPath = process.env.FOUNDRY_PATH
|
const dataPath = process.env.FOUNDRY_PATH;
|
||||||
if (dataPath) {
|
if (dataPath) {
|
||||||
if (!fs.existsSync(path.join(dataPath, "Data")))
|
if (!fs.existsSync(path.join(dataPath, "Data"))) throw Error("User Data path invalid, no Data directory found");
|
||||||
throw Error("User Data path invalid, no Data directory found")
|
|
||||||
|
|
||||||
linkDir = path.join(dataPath, "Data", destDir, name as string)
|
linkDir = path.join(dataPath, "Data", destDir, name as string);
|
||||||
} else {
|
} else {
|
||||||
throw Error("FOUNDRY_PATH not defined in environment")
|
throw Error("FOUNDRY_PATH not defined in environment");
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (argv.clean || argv.c) {
|
//if (argv.clean || argv.c) {
|
||||||
Logger.warn(`Removing build in ${linkDir}`)
|
Logger.warn(`Removing build in ${linkDir}`);
|
||||||
fs.rmSync(linkDir, { recursive: true, force: true })
|
fs.rmSync(linkDir, { recursive: true, force: true });
|
||||||
fs.mkdirSync(linkDir)
|
fs.mkdirSync(linkDir);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
Logger.ok(`Copying build to ${linkDir}`)
|
Logger.ok(`Copying build to ${linkDir}`);
|
||||||
fs.copySync(path.resolve(distPath), linkDir, { overwrite: true })
|
fs.copySync(path.resolve(distPath), linkDir, { overwrite: true });
|
||||||
|
|
||||||
return Promise.resolve()
|
return Promise.resolve();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
await Promise.reject(err)
|
await Promise.reject(err);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
/*********************/
|
/*********************/
|
||||||
/* PACKAGE */
|
/* PACKAGE */
|
||||||
|
|
@ -386,48 +359,47 @@ const linkUserData = async () => {
|
||||||
* Package build
|
* Package build
|
||||||
*/
|
*/
|
||||||
async function packageBuild() {
|
async function packageBuild() {
|
||||||
const manifest = getManifest()
|
const manifest = getManifest();
|
||||||
if (manifest === null) {
|
if (manifest === null) {
|
||||||
Logger.err("Manifest file could not be loaded.")
|
Logger.err("Manifest file could not be loaded.");
|
||||||
throw Error()
|
throw Error();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
// Remove the package dir without doing anything else
|
// Remove the package dir without doing anything else
|
||||||
if (argv.clean || argv.c) {
|
if (argv.clean || argv.c) {
|
||||||
Logger.warn("Removing all packaged files")
|
Logger.warn("Removing all packaged files");
|
||||||
fs.rmSync(distPath, { force: true, recursive: true })
|
fs.rmSync(distPath, { force: true, recursive: true });
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure there is a directory to hold all the packaged versions
|
// Ensure there is a directory to hold all the packaged versions
|
||||||
if(!fs.existsSync(distPath))
|
if (!fs.existsSync(distPath)) fs.mkdirSync(distPath);
|
||||||
fs.mkdirSync(distPath)
|
|
||||||
|
|
||||||
// Initialize the zip file
|
// Initialize the zip file
|
||||||
const zipName = `${manifest.file.name}-v${manifest.file.version}.zip`
|
const zipName = `${manifest.file.name}-v${manifest.file.version}.zip`;
|
||||||
const zipFile = fs.createWriteStream(path.join(distPath, zipName))
|
const zipFile = fs.createWriteStream(path.join(distPath, zipName));
|
||||||
const zip = archiver("zip", { zlib: { level: 9 } })
|
const zip = archiver("zip", { zlib: { level: 9 } });
|
||||||
|
|
||||||
zipFile.on("close", () => {
|
zipFile.on("close", () => {
|
||||||
Logger.ok(zip.pointer() + " total bytes")
|
Logger.ok(zip.pointer() + " total bytes");
|
||||||
Logger.ok(`Zip file ${zipName} has been written`)
|
Logger.ok(`Zip file ${zipName} has been written`);
|
||||||
return resolve(true)
|
return resolve(true);
|
||||||
})
|
});
|
||||||
|
|
||||||
zip.on("error", (err) => {
|
zip.on("error", (err) => {
|
||||||
throw err
|
throw err;
|
||||||
})
|
});
|
||||||
|
|
||||||
zip.pipe(zipFile)
|
zip.pipe(zipFile);
|
||||||
|
|
||||||
zip.directory(path.join(process.cwd(), distPath), false)
|
zip.directory(path.join(process.cwd(), distPath), false);
|
||||||
return zip.finalize()
|
return zip.finalize();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return reject(err)
|
return reject(err);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************/
|
/*********************/
|
||||||
|
|
@ -438,116 +410,114 @@ async function packageBuild() {
|
||||||
* Update version and URLs in the manifest JSON
|
* Update version and URLs in the manifest JSON
|
||||||
*/
|
*/
|
||||||
const updateManifest = (cb: any) => {
|
const updateManifest = (cb: any) => {
|
||||||
const packageJson = loadJson("package.json")
|
const packageJson = loadJson("package.json");
|
||||||
const config = getConfig(),
|
const config = getConfig(),
|
||||||
manifest = getManifest(),
|
manifest = getManifest(),
|
||||||
rawURL = config.rawURL,
|
rawURL = config.rawURL,
|
||||||
repoURL = config.repository,
|
repoURL = config.repository,
|
||||||
manifestRoot = manifest!.root
|
manifestRoot = manifest!.root;
|
||||||
|
|
||||||
if (!config)
|
if (!config) cb(Error("foundryconfig.json not found"));
|
||||||
cb(Error("foundryconfig.json not found"))
|
|
||||||
if (manifest === null) {
|
if (manifest === null) {
|
||||||
cb(Error("Manifest JSON not found"))
|
cb(Error("Manifest JSON not found"));
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
if (!rawURL || !repoURL)
|
if (!rawURL || !repoURL) cb(Error("Repository URLs not configured in foundryconfig.json"));
|
||||||
cb(Error("Repository URLs not configured in foundryconfig.json"))
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const version = argv.update || argv.u
|
const version = argv.update || argv.u;
|
||||||
|
|
||||||
/* Update version */
|
/* Update version */
|
||||||
|
|
||||||
const versionMatch = /^(\d{1,}).(\d{1,}).(\d{1,})$/
|
const versionMatch = /^(\d{1,}).(\d{1,}).(\d{1,})$/;
|
||||||
const currentVersion = manifest!.file.version
|
const currentVersion = manifest!.file.version;
|
||||||
let targetVersion = ""
|
let targetVersion = "";
|
||||||
|
|
||||||
if (!version) {
|
if (!version) {
|
||||||
cb(Error("Missing version number"))
|
cb(Error("Missing version number"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionMatch.test(version)) {
|
if (versionMatch.test(version)) {
|
||||||
targetVersion = version
|
targetVersion = version;
|
||||||
} else {
|
} else {
|
||||||
targetVersion = currentVersion.replace(versionMatch, (substring: string, major: string, minor: string, patch: string) => {
|
targetVersion = currentVersion.replace(versionMatch, (substring: string, major: string, minor: string, patch: string) => {
|
||||||
console.log(substring, Number(major) + 1, Number(minor) + 1, Number(patch) + 1)
|
console.log(substring, Number(major) + 1, Number(minor) + 1, Number(patch) + 1);
|
||||||
if (version === "major") {
|
if (version === "major") {
|
||||||
return `${Number(major) + 1}.0.0`
|
return `${Number(major) + 1}.0.0`;
|
||||||
} else if (version === "minor") {
|
} else if (version === "minor") {
|
||||||
return `${major}.${Number(minor) + 1}.0`
|
return `${major}.${Number(minor) + 1}.0`;
|
||||||
} else if (version === "patch") {
|
} else if (version === "patch") {
|
||||||
return `${major}.${minor}.${Number(patch) + 1}`
|
return `${major}.${minor}.${Number(patch) + 1}`;
|
||||||
} else {
|
} else {
|
||||||
return ""
|
return "";
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (targetVersion === "") {
|
if (targetVersion === "") {
|
||||||
return cb(Error("Error: Incorrect version arguments."))
|
return cb(Error("Error: Incorrect version arguments."));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (targetVersion === currentVersion) {
|
if (targetVersion === currentVersion) {
|
||||||
return cb(Error("Error: Target version is identical to current version."))
|
return cb(Error("Error: Target version is identical to current version."));
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger.ok(`Updating version number to '${targetVersion}'`)
|
Logger.ok(`Updating version number to '${targetVersion}'`);
|
||||||
|
|
||||||
packageJson.version = targetVersion
|
packageJson.version = targetVersion;
|
||||||
manifest.file.version = targetVersion
|
manifest.file.version = targetVersion;
|
||||||
|
|
||||||
/* Update URLs */
|
/* Update URLs */
|
||||||
|
|
||||||
const result = `${rawURL}/v${manifest.file.version}/${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`
|
const result = `${rawURL}/v${manifest.file.version}/${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`;
|
||||||
|
|
||||||
manifest.file.url = repoURL
|
manifest.file.url = repoURL;
|
||||||
manifest.file.manifest = `${rawURL}/master/${manifestRoot}/${manifest.name}`
|
manifest.file.manifest = `${rawURL}/master/${manifestRoot}/${manifest.name}`;
|
||||||
manifest.file.download = result
|
manifest.file.download = result;
|
||||||
|
|
||||||
const prettyProjectJson = stringify(manifest.file, {
|
const prettyProjectJson = stringify(manifest.file, {
|
||||||
maxLength: 35,
|
maxLength: 35,
|
||||||
indent: "\t",
|
indent: "\t",
|
||||||
})
|
});
|
||||||
|
|
||||||
fs.writeFileSync("package.json", JSON.stringify(packageJson, null, '\t'))
|
fs.writeFileSync("package.json", JSON.stringify(packageJson, null, "\t"));
|
||||||
fs.writeFileSync(path.join(manifest.root, manifest.name), prettyProjectJson, "utf8")
|
fs.writeFileSync(path.join(manifest.root, manifest.name), prettyProjectJson, "utf8");
|
||||||
|
|
||||||
return cb()
|
return cb();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return cb(err)
|
return cb(err);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
const gitTaskManifest = (cb: gulp.TaskFunctionCallback) => {
|
const gitTaskManifest = (cb: gulp.TaskFunctionCallback) => {
|
||||||
const manifest = getManifest()
|
const manifest = getManifest();
|
||||||
if (!manifest)
|
if (!manifest) return cb(Error("could not load manifest."));
|
||||||
return cb(Error("could not load manifest."))
|
|
||||||
|
|
||||||
return gulp.src([`package.json`, `source/module.json`])
|
return gulp
|
||||||
|
.src([`package.json`, `source/module.json`])
|
||||||
.pipe(git.add({ args: "--no-all -f" }))
|
.pipe(git.add({ args: "--no-all -f" }))
|
||||||
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }))
|
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }));
|
||||||
}
|
};
|
||||||
|
|
||||||
const gitTaskBuild = (cb: gulp.TaskFunctionCallback) => {
|
const gitTaskBuild = (cb: gulp.TaskFunctionCallback) => {
|
||||||
const manifest = getManifest()
|
const manifest = getManifest();
|
||||||
if (!manifest)
|
if (!manifest) return cb(Error("could not load manifest."));
|
||||||
return cb(Error("could not load manifest."))
|
|
||||||
|
|
||||||
return gulp.src(`${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`)
|
return gulp
|
||||||
.pipe(git.checkout(`v${manifest.file.version}`, { args: '-b' }))
|
.src(`${distPath}/${manifest.file.name}-v${manifest.file.version}.zip`)
|
||||||
|
.pipe(git.checkout(`v${manifest.file.version}`, { args: "-b" }))
|
||||||
.pipe(git.add({ args: "--no-all -f" }))
|
.pipe(git.add({ args: "--no-all -f" }))
|
||||||
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }))
|
.pipe(git.commit(`v${manifest.file.version}`, { args: "-a", disableAppendPaths: true }));
|
||||||
}
|
};
|
||||||
|
|
||||||
const execBuild = gulp.parallel(buildTS, buildLess, buildPacks, copyFiles)
|
const execBuild = gulp.parallel(buildTS, buildLess, buildPacks, copyFiles);
|
||||||
|
|
||||||
exports.build = gulp.series(clean, execBuild, bundleModule)
|
exports.build = gulp.series(clean, execBuild, bundleModule);
|
||||||
exports.buildTarget = gulp.series(setTargetDir, clean, execBuild, bundleModule)
|
exports.buildTarget = gulp.series(setTargetDir, clean, execBuild, bundleModule);
|
||||||
exports.watch = buildWatch
|
exports.watch = buildWatch;
|
||||||
exports.watchTarget = gulp.series(setTargetDir, buildWatch)
|
exports.watchTarget = gulp.series(setTargetDir, buildWatch);
|
||||||
exports.clean = clean
|
exports.clean = clean;
|
||||||
exports.link = linkUserData
|
exports.link = linkUserData;
|
||||||
exports.package = packageBuild
|
exports.package = packageBuild;
|
||||||
exports.update = updateManifest
|
exports.update = updateManifest;
|
||||||
//exports.publish = gulp.series(clean, updateManifest, execBuild, bundleModule, packageBuild, gitTaskManifest, gitTaskBuild)
|
//exports.publish = gulp.series(clean, updateManifest, execBuild, bundleModule, packageBuild, gitTaskManifest, gitTaskBuild)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M274.663 63.02L90.792 80.26l154.193 19.273c5.063-13.339 12.952-24.341 22.541-31.828a52.072 52.072 0 0 1 7.137-4.683zm19.832 12.803c-5.092.166-10.492 2.296-15.879 6.502-7.835 6.118-15.009 16.575-18.83 29.688-3.821 13.112-3.477 26.099-.289 35.927 3.188 9.829 8.73 16.071 15.633 18.395 6.903 2.324 14.766.596 22.601-5.522 7.835-6.117 15.01-16.574 18.83-29.687 3.822-13.113 3.48-26.1.292-35.928-3.189-9.828-8.73-16.07-15.633-18.394a19.017 19.017 0 0 0-6.725-.98zm166.85 9.485c-24.113 13.949-46.193 20.298-87.233 17.252L340.48 228.452c-.675 2.682-.318 6 1.922 10.87 2.243 4.876 6.355 10.89 11.836 17.607 9.99 12.242 24.527 27.16 39.573 44.238 14.56-5.5 28.23-12.828 38.972-20.19 11.841-8.113 20.234-16.95 21.965-19.939l42.027-118.22c-16.748-14.613-29.471-33.974-35.43-57.51zm-288.07 51.261L23.652 158.331l89.309 12.988 2.158-5.052zm286.265 2.325l16.941 6.078-39.123 109.037-37.212 19.181-8.247-15.998 30.913-15.933zm-259.842 4.394l-70.586 36.043-29.222 68.422 19.218 8.809 24.905-57.764 59.299-22.973-14.702 75.955-.963 1.477c-32.725 50.18-71.654 93.41-118.464 134.28L42.722 432.98l17.021 7.245 31.875-43.989 1.38-.906c45.476-29.872 75.93-62.333 112.255-94.492l4.533-4.012 5.426 2.686c23.365 11.571 42.934 24.117 62.107 37.705l8.924 6.324-69.006 65.643 24.649 39.794 17.67-10.308-20.078-28.477 8.224-5.004c29.884-18.186 49.986-39.43 71.938-66.039-23.653-35.6-42.006-49.433-71.592-71.267l9.908-7.227c34.703-25.312 38.132-54.476 41.61-79.449-9.203 4.441-19.498 5.772-29.473 2.414-13.488-4.54-22.924-16.472-27.465-30.473-.17-.522-.321-1.054-.479-1.584zm116.62 45.04c-1.355 7.027-3.324 14.17-6.092 21.349l14.056 9.666 5.938-22.223zm-174.243 97.476l-126.85 17.953 99.67 14.105a598.987 598.987 0 0 0 27.18-32.058zm91.781 82.73l-95.892 21.432 59.406 13.277z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M214.475 29.258L161.77 81.96c16.936 20.538 28.36 42.014 27.927 65.403-.452 24.518-14.472 48.98-43.79 73.528l5.99 17.694c71.606-19.315 130.42-50.42 170.478-101.428l-107.9-107.898zm-57.424 77.54L21.24 211.07v51.764l149.748-115.11c.008-.236.02-.472.026-.706.24-13-4.75-26.334-13.96-40.22zm276.18 3.19l-36.34 84.352 70.038-48.074-33.7-36.278zm-97.543 40.48c-42.955 53.685-105.04 86.063-177.787 105.852l14.08 41.59c18.005.184 38.99-3.06 60.754-9.574.94-1.584 1.904-3.157 2.924-4.705 23.146-35.122 66.755-62.113 114.967-66.79 8.404-8.93 16.06-18.51 22.73-28.705l-37.668-37.666zm29.745 84.34c-47.143 0-92.654 26.458-114.168 59.106-10.757 16.324-15.532 33.768-12.805 50.416 2.726 16.648 12.827 33.23 34.772 48.188l6.118 4.168c13.21 6.097 27.513 9.598 40.26 10.794l-38.04 5.555-20.562 43.145c11.34 9.924 24.012 17.9 37.492 23.927l10.53-45.236 18.202 4.24-11.09 47.646c13.566 4.21 27.673 6.614 41.858 7.203v-52.015h18.688v51.74c13.787-.973 27.45-3.665 40.56-8.07l-10.443-46.578 18.236-4.09 9.77 43.57c11.56-5.517 22.482-12.496 32.422-20.94l-21.39-44.884-35.71-5.213c10.606-.995 22.29-3.588 33.524-7.94l12.13-5.782c24.48-15.652 35.938-32.698 39.337-49.32 3.44-16.818-1.263-34.156-12.35-50.5-22.174-32.69-70.172-59.13-117.34-59.13zm-50.62 84.174c19.09 0 34.567 15.475 34.567 34.565 0 19.09-15.48 34.566-34.567 34.566-19.09 0-34.565-15.476-34.565-34.566 0-19.09 15.474-34.565 34.565-34.565zm105.547 0c19.09 0 34.564 15.476 34.564 34.565 0 19.09-15.476 34.566-34.565 34.566-19.09 0-34.565-15.476-34.565-34.566 0-19.09 15.474-34.565 34.564-34.565zm-233.737 3.747l-108.115.26 24.996 43.334 83.12-43.595zm23.623 15.715l-56.36 83.56 44.692 15.724 11.668-99.285zm107.7 9.703c-5.715 0-10.147 4.433-10.147 10.147 0 5.715 4.432 10.146 10.145 10.146 5.714 0 10.147-4.43 10.147-10.145s-4.43-10.147-10.147-10.147zm99.28 0c-5.715 0-10.146 4.432-10.146 10.147 0 5.714 4.433 10.146 10.147 10.146 5.713 0 10.146-4.43 10.146-10.145 0-5.714-4.432-10.147-10.146-10.147zm-49.835 14.297l23.046 53.694c-11.686 7.06-33.125 7.013-44.42 1.95l21.375-55.645z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M45.906 23.625v9.344c0 102.68 10.49 205.087 41.125 288.155 30.637 83.068 82.364 147.415 163.75 169.78l2.22.626 2.22-.5C344.49 472 396.864 407.39 425.593 323.47c28.728-83.92 35.25-187.777 35.25-290.5v-9.345H45.906zM64.72 42.313H442.06c-.413 98.8-7.497 197.342-34.125 275.125-27.21 79.487-73.39 136.637-154.375 154.78-73.28-21.03-119.914-78.696-149-157.562-28.475-77.212-39.206-174.13-39.843-272.344zm18.81 18.75c.807 84.13 12.486 172.823 39.314 244.812 7.825 20.998 16.874 40.495 27.25 58.063l45.844-38.438-40.75-75.063-5.47-10.062 10.97-3.344s38.865-11.786 60.406-18.25l20.437-7.25-94.843-150.468H83.53zm160.25 0l45.782 91.5 132.407-43.157c.69-16.205 1.053-32.366 1.155-48.344H243.78zm177.157 68.343L298.031 169.47l24.908 49.78 25.875 48.72 53.28-1.845c10.245-42.834 16.03-89.664 18.844-136.72zM310.908 236.47l-30.75 10.374 67.25 145.187c17.813-23.2 31.737-51.6 42.624-83.686 2.578-7.595 4.966-15.39 7.19-23.344l-53.626 1.844-5.844.22-2.75-5.158-24.094-45.437zm-99.22 4.686c-13.133 3.972-27.346 8.262-34.625 10.47L216 323.28l3.625 6.72-5.844 4.906-53.56 44.906c24.67 35.91 55.887 61.828 94.655 73.125 30.34-6.91 55.36-21.496 76.03-42.062L211.69 241.155z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M246.8 35.58l25.5 52.5 24.8-22.9-50.3-29.6zm109.1 13.41l-10.3 9.51 52.9 57.3 10.3-9.5-52.9-57.31zm-30.3 14.37l-57.3 52.94 66.5 72 57.3-53-66.5-71.94zM181.8 93.33l-19.5 49.17L196 187l-14.2-93.67zM75.81 127l-32.42 13.8 94.41 52.1L75.81 127zm186.09 8.9l-16.2 15-32 44.1 62.7-18.2-33.6 70.7 32.4-17.8 39.6-36.6-52.9-57.2zm232.1 2.4c-3.1.8-6.1 1.6-9.2 2.3-25.7 5.9-51.9 8.5-74.5 2.3l-69.4 64.2c4.5 23-.2 48.9-8.1 74.1-8.7 27.5-21.6 54.1-32.9 75.4 60.6 17.3 133-11.2 187.1-61.1 2.4-2.2 4.7-4.5 7-6.7V138.3zM76.71 232.6l-18.78 37.6 72.57-21.6-53.79-16zm117.19 48l-24 51.8-21-34.4-47.2 196H182l37.2-154.6-25.7 29.5.4-88.3z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 880 B |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M279.775 17.137c-18.823-.262-38.412 6.822-51.54 20.02l-5.858 5.89-6.535-5.127c-35.796-28.083-78.147-22.538-98.727 10.39l-3.465 5.547-6.398-1.357c-27.027-5.737-53.6 4.882-69.373 23.047-15.776 18.165-21.16 42.634-5.937 68.43l3.68 6.234-5.12 5.122c-7.12 7.122-9.71 16.235-8.956 26.824.753 10.59 5.242 22.277 12.04 31.98 6.8 9.705 15.853 17.3 24.67 20.634 8.82 3.333 16.93 3.112 25.68-2.877l6.626-4.538 5.48 5.868c18.752 20.07 63.427 19.456 81.504-9.315l4.967-7.906 7.91 4.96c9.652 6.05 21.095 6.628 32.078 3.243 10.983-3.384 21.017-10.924 26.445-19.56l8.34-13.272 7.707 13.648c5.984 10.6 21.754 20.7 39.238 24.517 17.485 3.818 35.716 1.47 46.955-7.793l7.116-5.863 5.96 7.036c13.405 15.834 34.384 19.713 51.292 15.234 8.453-2.24 15.61-6.562 20.1-11.894 4.49-5.332 6.64-11.394 5.548-19.36l-1.412-10.292 10.386-.317c14.28-.435 23.67-5.757 30.195-13.635 6.527-7.877 9.99-18.775 9.966-30.103-.05-22.658-12.994-45.11-39.104-48.66l-9.843-1.34 1.936-9.743c1.49-7.49-1.057-16.514-7.54-25.764-6.485-9.25-16.708-18.272-28.37-24.904-11.662-6.634-24.726-10.866-36.596-11.388-11.87-.522-22.266 2.385-30.62 9.863l-7.743 6.934-6.072-8.437c-10.336-14.36-27.786-21.715-46.61-21.976zm-23.13 207.613c-7.79 7.932-17.737 13.957-28.64 17.316-12.57 3.874-26.675 4.027-39.61-1.3-13.607 16.66-33.646 25.044-53.58 25.658.803 2.694 2.022 5.36 3.65 7.885 4.48 6.947 11.786 12.436 20.377 14.188 8.59 1.752 18.766.2 30.504-8.578l9.133-6.828 4.9 10.295c1.805 3.793 10.955 9.652 22.417 10.94 11.462 1.286 23.836-1.518 30.982-8.206l7.2-6.737 6.34 7.55c7.687 9.153 18.164 11.31 28.223 9.768 10.06-1.54 18.25-8.15 19.394-10.936l4.225-10.297 9.41 5.943c9.343 5.9 17.365 6.48 24.47 4.494 7.103-1.987 13.382-6.983 17.39-13.273 3.672-5.763 5.297-12.387 4.51-18.327-7.83-2.86-15.302-7.21-21.903-13.22-16.45 9.763-37.038 10.807-55.794 6.712-16.836-3.676-32.71-11.465-43.6-23.045zm5.767 80.373c-7.74 4.837-16.592 7.306-25.443 8.002v41.938c-39.484 1.013-74.942 4.618-102.22 10.093-16.214 3.255-29.515 7.07-39.53 11.844-5.01 2.387-9.234 4.994-12.69 8.406-3.454 3.412-6.343 8.197-6.343 13.75 0 5.553 2.866 10.328 6.313 13.75 3.447 3.422 7.682 6.03 12.688 8.438 10.01 4.818 23.314 8.72 39.53 12.03 20.218 4.13 44.93 7.244 72.438 9-15.85 21.005-36.292 38.707-56.937 50.438H364.5c-20.393-12.03-39.75-29.664-54.72-50.312 28.51-1.726 54.114-4.872 74.94-9.125 16.215-3.312 29.52-7.213 39.53-12.03 5.006-2.41 9.24-5.016 12.688-8.44 3.446-3.42 6.28-8.196 6.28-13.75 0-5.55-2.857-10.337-6.312-13.75-3.455-3.41-7.68-6.018-12.687-8.405-10.017-4.773-23.32-8.59-39.533-11.844-27.645-5.55-63.688-9.17-103.812-10.125v-40.776c-6.473-1.61-12.817-4.55-18.463-9.13zm19.12 68.596c38.834.986 73.608 4.558 99.468 9.75 15.31 3.072 27.538 6.774 35.156 10.405 3.81 1.815 6.438 3.64 7.625 4.813.298.293.28.317.408.468-.13.156-.123.188-.438.5-1.196 1.187-3.814 3.04-7.625 4.875-7.622 3.67-19.85 7.406-35.156 10.533-22.08 4.51-50.67 7.833-82.72 9.343-8.816-16.007-14.824-33.213-16.72-50.687zm-45.157.06c-1.88 17.484-8.158 34.644-17.28 50.533-31.217-1.555-59.056-4.838-80.657-9.25-15.308-3.127-27.534-6.863-35.157-10.532-3.81-1.833-6.428-3.686-7.624-4.874-.32-.318-.31-.344-.437-.5.126-.15.134-.17.436-.47 1.188-1.17 3.785-2.996 7.594-4.81 7.62-3.632 19.846-7.334 35.156-10.407 25.525-5.125 59.738-8.648 97.97-9.69z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M375.483 251.243l-109.98 51.138.213 183.381L477.01 266.346l-86.993-21.81zm-12.736 108.626l-5.947 14.699-48.604-8.955 5.007-12.832a141.306 141.306 0 0 0 13.51-11.358 167.184 167.184 0 0 0 16.566-17.517 170.478 170.478 0 0 0 12.606-17.958 115.607 115.607 0 0 0 9.514-17.97l14.068 2.51q-9.37 22.334-30.361 44.43-13.296 13.64-20.645 18.636zM121.603 244.334l-84.71 21.763L246.474 486V302.38l-109.946-51.137zm19.147 50.852a28.72 28.72 0 0 1 24.273 6.802 53.052 53.052 0 0 1 11.226 14.188l-13.081 2.676a28.542 28.542 0 0 0-5.388-7.374q-5.185-4.876-11.262-3.853l-.487.095a6.458 6.458 0 0 0-5.162 4.448c-.856 2.378-.238 5.554 1.796 9.371q4.08 7.6 10.81 9.027a23.785 23.785 0 0 0 8.563-.203l1.867-.344 5.791 10.822q-6.398 1.427-8.23 3.282-3.21 3.14.429 9.93a17.042 17.042 0 0 0 6.089 6.696 10.406 10.406 0 0 0 7.385 1.534l.416-.083q4.757-.964 5.079-4.757c.261-2.57-.655-5.744-2.748-9.514l12.38-2.545a49.247 49.247 0 0 1 4.103 11.226 19.956 19.956 0 0 1-.642 9.383 11.702 11.702 0 0 1-3.96 5.411 19.575 19.575 0 0 1-8.027 3.235l-1.19.214a27.971 27.971 0 0 1-17.494-2.7 32.193 32.193 0 0 1-14.128-14.092q-3.627-6.79-2.604-12.19a8.396 8.396 0 0 1 2.521-4.947h-.071q-1.844.31-7.04-2.497a32.11 32.11 0 0 1-12.916-13.593q-5.245-9.764-3.282-18.398 1.962-8.634 13.676-11zM27.19 248.865l108.78-116.309a7.135 7.135 0 0 1 1.427 0h.154q3.14.345 2.842 3.71a19.36 19.36 0 0 1-3.294 8.1 39.376 39.376 0 0 1-9.728 10.405q-3.912 2.938-15.044 9.514-12.796 7.505-19.55 14.77a92.535 92.535 0 0 0-11.513 14.486l32.907 3.758 8.182-12.963-20.967-2.378a36.415 36.415 0 0 1 4.757-3.83q2.379-1.605 8.444-5.125l6.422-3.747a92.975 92.975 0 0 0 12.903-8.776 61.472 61.472 0 0 0 12.51-14.414q6.84-10.846 6.494-17.957c-.19-3.949-2.105-6.434-5.684-7.505l79.798-85.161-102.097 179.576-5.708 10.06zm367.238-71.974q-3.817-5.458-3.758-8.515c0-2.033 1.19-3.199 3.568-3.448h.57a11.892 11.892 0 0 1 6.91 2.247 29.85 29.85 0 0 1 7.837 8.051q3.687 5.28 3.71 8.397c0 2.093-1.188 3.258-3.496 3.567h-.594a11.75 11.75 0 0 1-6.957-2.378 29.79 29.79 0 0 1-7.79-7.885zm-109.41-141.52l83.948 89.634h-1.189c-.38 0-.975 0-1.463.107q-7.825.892-8.324 6.862-.5 5.97 5.03 13.747a53.778 53.778 0 0 0 6.375 7.374 37.901 37.901 0 0 0 10.144 6.897q-2.117 2.89-.702 7.98a37.283 37.283 0 0 0 5.613 11.096 55.122 55.122 0 0 0 15.223 14.806q8.098 5.268 16.066 4.935.81 0 1.618-.13 8.776-.988 9.228-7.873a16.114 16.114 0 0 0-.463-4.853l58.689 62.686-91.572-22.941-6.1-10.703zm98.22 104.927l2.45 2.617c.451.57.903 1.189 1.355 1.784 1.808 2.592 2.723 4.757 2.723 6.529 0 1.771-1.034 2.782-3.127 3.02h-.512a10.346 10.346 0 0 1-6.077-1.95 22.596 22.596 0 0 1-6.184-6.137c-1.974-2.83-2.937-5.102-2.878-6.814.06-1.713 1.118-2.7 3.187-2.937h.524a10.263 10.263 0 0 1 6.005 1.879 19.147 19.147 0 0 1 2.533 2.01zM255.987 26L137.456 231.026l118.532 55.05 118.604-55.05zm-1.19 208.463q-17.529 0-24.58-12.273-7.053-12.273-7.053-34.988 0-22.714 7.052-35.047 7.052-12.332 24.582-12.344 17.53 0 24.582 12.332 7.052 12.333 7.052 35.047 0 22.715-7.052 34.988-7.053 12.273-24.582 12.285zm10.538-71.807q2.497 7.968 2.497 24.546 0 15.817-2.497 24.201-2.498 8.384-10.537 8.325-8.04 0-10.632-8.325-2.593-8.324-2.593-24.2 0-16.579 2.593-24.547t10.632-7.968q8.015-.012 10.513 7.956z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><polygon points="384,477.7,256,426.67,128,477.7,108.2,341.33,0,256,108.2,170.67,128,34.3,256,85.33,384,34.3,403.8,170.67,512,256,403.8,341.33" fill="#ac2929" fill-opacity="1"></polygon><g class="" style="" transform="translate(0,0)"><path d="M375.483 251.243l-109.98 51.138.213 183.381L477.01 266.346l-86.993-21.81zm-12.736 108.626l-5.947 14.699-48.604-8.955 5.007-12.832a141.306 141.306 0 0 0 13.51-11.358 167.184 167.184 0 0 0 16.566-17.517 170.478 170.478 0 0 0 12.606-17.958 115.607 115.607 0 0 0 9.514-17.97l14.068 2.51q-9.37 22.334-30.361 44.43-13.296 13.64-20.645 18.636zM121.603 244.334l-84.71 21.763L246.474 486V302.38l-109.946-51.137zm19.147 50.852a28.72 28.72 0 0 1 24.273 6.802 53.052 53.052 0 0 1 11.226 14.188l-13.081 2.676a28.542 28.542 0 0 0-5.388-7.374q-5.185-4.876-11.262-3.853l-.487.095a6.458 6.458 0 0 0-5.162 4.448c-.856 2.378-.238 5.554 1.796 9.371q4.08 7.6 10.81 9.027a23.785 23.785 0 0 0 8.563-.203l1.867-.344 5.791 10.822q-6.398 1.427-8.23 3.282-3.21 3.14.429 9.93a17.042 17.042 0 0 0 6.089 6.696 10.406 10.406 0 0 0 7.385 1.534l.416-.083q4.757-.964 5.079-4.757c.261-2.57-.655-5.744-2.748-9.514l12.38-2.545a49.247 49.247 0 0 1 4.103 11.226 19.956 19.956 0 0 1-.642 9.383 11.702 11.702 0 0 1-3.96 5.411 19.575 19.575 0 0 1-8.027 3.235l-1.19.214a27.971 27.971 0 0 1-17.494-2.7 32.193 32.193 0 0 1-14.128-14.092q-3.627-6.79-2.604-12.19a8.396 8.396 0 0 1 2.521-4.947h-.071q-1.844.31-7.04-2.497a32.11 32.11 0 0 1-12.916-13.593q-5.245-9.764-3.282-18.398 1.962-8.634 13.676-11zM27.19 248.865l108.78-116.309a7.135 7.135 0 0 1 1.427 0h.154q3.14.345 2.842 3.71a19.36 19.36 0 0 1-3.294 8.1 39.376 39.376 0 0 1-9.728 10.405q-3.912 2.938-15.044 9.514-12.796 7.505-19.55 14.77a92.535 92.535 0 0 0-11.513 14.486l32.907 3.758 8.182-12.963-20.967-2.378a36.415 36.415 0 0 1 4.757-3.83q2.379-1.605 8.444-5.125l6.422-3.747a92.975 92.975 0 0 0 12.903-8.776 61.472 61.472 0 0 0 12.51-14.414q6.84-10.846 6.494-17.957c-.19-3.949-2.105-6.434-5.684-7.505l79.798-85.161-102.097 179.576-5.708 10.06zm367.238-71.974q-3.817-5.458-3.758-8.515c0-2.033 1.19-3.199 3.568-3.448h.57a11.892 11.892 0 0 1 6.91 2.247 29.85 29.85 0 0 1 7.837 8.051q3.687 5.28 3.71 8.397c0 2.093-1.188 3.258-3.496 3.567h-.594a11.75 11.75 0 0 1-6.957-2.378 29.79 29.79 0 0 1-7.79-7.885zm-109.41-141.52l83.948 89.634h-1.189c-.38 0-.975 0-1.463.107q-7.825.892-8.324 6.862-.5 5.97 5.03 13.747a53.778 53.778 0 0 0 6.375 7.374 37.901 37.901 0 0 0 10.144 6.897q-2.117 2.89-.702 7.98a37.283 37.283 0 0 0 5.613 11.096 55.122 55.122 0 0 0 15.223 14.806q8.098 5.268 16.066 4.935.81 0 1.618-.13 8.776-.988 9.228-7.873a16.114 16.114 0 0 0-.463-4.853l58.689 62.686-91.572-22.941-6.1-10.703zm98.22 104.927l2.45 2.617c.451.57.903 1.189 1.355 1.784 1.808 2.592 2.723 4.757 2.723 6.529 0 1.771-1.034 2.782-3.127 3.02h-.512a10.346 10.346 0 0 1-6.077-1.95 22.596 22.596 0 0 1-6.184-6.137c-1.974-2.83-2.937-5.102-2.878-6.814.06-1.713 1.118-2.7 3.187-2.937h.524a10.263 10.263 0 0 1 6.005 1.879 19.147 19.147 0 0 1 2.533 2.01zM255.987 26L137.456 231.026l118.532 55.05 118.604-55.05zm-1.19 208.463q-17.529 0-24.58-12.273-7.053-12.273-7.053-34.988 0-22.714 7.052-35.047 7.052-12.332 24.582-12.344 17.53 0 24.582 12.332 7.052 12.333 7.052 35.047 0 22.715-7.052 34.988-7.053 12.273-24.582 12.285zm10.538-71.807q2.497 7.968 2.497 24.546 0 15.817-2.497 24.201-2.498 8.384-10.537 8.325-8.04 0-10.632-8.325-2.593-8.324-2.593-24.2 0-16.579 2.593-24.547t10.632-7.968q8.015-.012 10.513 7.956z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.5 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M248 20.3L72.33 132.6 248 128.8zm16 0v108.5l175.7 3.8zm51.4 58.9c6.1 3.5 8.2 7.2 15.1 4.2 10.7.8 22.3 5.8 27.6 15.7 4.7 4.5 1.5 12.6-5.2 12.6-9.7.1-19.7-6.1-14.6-8.3 4.7-2 14.7.9 10-5.5-3.6-4.5-11-7.8-16.3-5.9-1.6 6.8-9.4 4-12-.7-2.3-5.8-9.1-8.2-15-7.9-6.1 2.7 1.6 8.8 5.3 9.9 7.9 2.2.2 7.5-4.1 5.1-4.2-2.4-15-9.6-13.5-18.3 5.8-7.39 15.8-4.62 22.7-.9zm-108.5-3.5c5.5.5 12.3 3 10.2 9.9-4.3 7-9.8 13.1-18.1 14.8-6.5 3.4-14.9 4.4-21.6 1.9-3.7-2.3-13.5-9.3-14.9-3.4-2.1 14.8.7 13.1-11.1 17.8V92.3c9.9-3.9 21.1-4.5 30.3 1.3 8 4.2 19.4 1.5 24.2-5.7 1.4-6.5-8.1-4.6-12.2-3.4-2.7-8.2 7.9-7.5 13.2-8.8zm35 69.2L55.39 149l71.21 192.9zm28.2 0l115.3 197L456.6 149zm-14.1 7.5L138.9 352.6h234.2zm133.3 21.1c13.9 8.3 21.5 26.2 22.1 43-1.3 13.6-.7 19.8-15.2 21.4-14.5 1.6-23.9-19.2-29.7-32.6-3.4-9.9-5.8-24 1.7-31.3 6.1-4.8 15-4.1 21.1-.5zm-223.7 16.1c2.1 4-.5 11.4-4.8 12.1-4.9.7-3.8-9.3-9.4-11.6-6.9-2.3-13.6 5.6-15 11.6 10.4-4 20.3 7.1 20.3 17-.4 11.7-7.9 24.8-19.7 28.1h-5.6c-12.7-.7-18.3-15.8-14.2-26.6 4.4-15.8 10.8-33.9 27.2-40.6 8.5-3.9 19 3.2 21.2 10zm213.9-8.4c-7.1-.1-4.4 10-3.3 14.5 3.5 11.5 7.3 26.6 18.9 30 6.8-1.2 4.4-12.8 3.7-16.5-4.7-10.9-7.1-23.3-19.3-28zM52 186v173.2l61.9-5.7zm408 0l-61.9 167.5 61.9 5.7zm-117.9.7l28.5 63.5-10 4.4-20-43.3c-6.1 3-13 8.9-14.6-1.4-1.3-3.9 8.5-5.1 8.1-11.9-.3-6.9 2.2-12.2 8-11.3zm-212 27.4c-2.4 5.1-4.1 10.3-2.7 15.9 1.7 8.8 13.5 6.4 15.6-.8 2.7-5 3.9-11.7-.5-15.7-4.1-3.4-8.9-2.8-12.4.6zm328.4 41.6c-.1 18.6 1.1 39.2-9.7 55.3-.9 1.2-2.2 1.9-3.7 2.5-5.8-4.1-3-11.3 1.2-15.5 1 7.3 5.5-2.9 6.6-5.6 1.3-3.2 3.6-17.7-1-10.2.7 4-6.8 13.1-9.3 8.1-5-14.4 0-30.5 7-43.5 5.7-6.2 9.9 4.4 8.9 8.9zM59.93 245.5c.59.1 1.34 1 2.48 3.6v61.1c-7.3-7-4.47-18-4.45-26.4 0-8.4 1.65-16.3-1.28-23.2-4.62-1.7-5.79-17-3.17-12.7 4.41 4.8 4.66-2.7 6.42-2.4zm178.77 7.6c8.1 4.5 13.8 14.4 10.8 23.6-2.1 15.2-27 21.1-30.4 29.7-1.2 3 25.4 1.6 30.2 1.6.5 4 1.5 10.7-3.8 11.7-14.5-1.2-29.9-.6-45.1-.6.4-11.2 7.4-21.3 17-26.8 6.9-4.9 15.4-9.3 18.1-17.9 1.8-4.5-.6-9.3-4.6-11.5-4.2-2.9-11-2.3-13.2 2.7-2 3.8-4.4 9.1-8.7 9.6-2.9.4-9 .5-7.2-4.9 1.4-5.6 3.4-11.5 8.2-15.2 8.8-6.3 19.9-6.7 28.7-2zm53.3-1.4c6.8 2.2 12 7.9 14.3 14.6 6.1 14.7 5.5 33.1-4.4 45.9-4.5 4.8-10.2 9.1-17 9.1-12.5-.1-22.4-11.1-24.8-22.8-3.1-13.4-1.8-28.7 6.9-39.8 6.8-7.6 16-10.3 25-7zm156.1 8.1c-1.6 5.9-3.3 13.4-.7 19.3 5.1-2 5.4-9.6 6.6-14.5.9-6.1-3.5-12.6-5.9-4.8zm-176.2 21.1c.6 10.5 1.7 22.8 9.7 28.2 4.9 1.8 9.7-2.2 11.1-6.7 1.9-6.3 2.3-12.9 2.4-19.4-.2-7.1-1.5-15-6.7-20.1-12.2-4.4-15.3 10.9-16.5 18zM434 266.8V328l-4.4 6.7v-42.3c-4.6 7.5-9.1 9.1-6.1-.9 6.1-7.1 4.8-17.4 10.5-24.7zM83.85 279c.8 3.6 5.12 17.8 2.04 14.8-1.97-1.3-3.62-4.9-3.41-6.1-1.55-3-2.96-6.1-4.21-9.2-2.95 4-3.96 8.3-3.14 13.4.2-1.6 1.18-2.3 3.39-.7 7.84 12.6 12.17 29.1 7.29 43.5l-2.22 1.1c-10.36-5.8-11.4-19.4-13.43-30-1.55-12.3-.79-24.7 2.3-36.7 5.2-3.8 9.16 5.4 11.39 9.9zm-7.05 20.2c-4.06 4.7-2.26 12.8-.38 18.4 1.11 5.5 6.92 10.2 6.06 1.6.69-11.1-2.33-12.7-5.68-20zm66.4 69.4L256 491.7l112.8-123.1zm-21.4.3l-53.84 4.9 64.24 41.1c-2.6-2.7-4.9-5.7-7.1-8.8-5.2-6.9-10.5-13.6-18.9-16.6-8.75-6.5-4.2-5.3 2.9-2.6-1-1.8-.7-2.6.1-2.6 2.2-.2 8.4 4.2 9.8 6.3l24.7 31.6 65.1 41.7zm268.4 0l-42.4 46.3c6.4-3.1 11.3-8.5 17-12.4 2.4-1.4 3.7-1.9 4.3-1.9 2.1 0-5.4 7.1-7.7 10.3-9.4 9.8-16 23-28.6 29.1l18.9-24.5c-2.3 1.3-6 3.2-8.2 4.1l-40.3 44 74.5-47.6c5.4-6.7 1.9-5.6-5.7-.9l-11.4 6c11.4-13.7 30.8-28.3 40-35.6 9.2-7.3 15.9-9.8 8.2-1.5l-12.6 16c10-7.6.9 3.9-4.5 5.5-.7 1-1.4 2-2.2 2.9l54.5-34.9zM236 385.8v43.4h-13.4v-30c-5-1.4-10.4 1.7-15.3-.3-3.8-2.9 1-6.8 4.5-5.9 3.3-.1 7.6.2 9.3-3.2 4.4-4.5 9.6-4.4 14.9-4zm29 .5c12.1 1.2 24.2.6 36.6.6 1.5 3 .8 7.8-3.3 7.9-7.7.3-21-1.6-25.9.6-8.2 10.5 5.7 3.8 11.4 5.2 7 1.1 15 2.9 19.1 9.2 2.1 3.1 2.7 7.3.7 10.7-5.8 6.8-17 11.5-25.3 10.9-7.3-.6-15.6-1.1-20.6-7.1-6.4-10.6 10.5-6.7 12.2-3.2 6 5.3 20.3 1.9 20.7-4.7.6-4.2-2.1-6.3-6.9-7.8-4.8-1.5-12.6 1-17.3 1.8-4.7.8-9.6.5-9-4.4.8-4.2 2.7-8.1 2.7-12.5.1-3 1.7-7 4.9-7.2zm133.5 5c-.2-.2-7 5.8-9.9 8.1l-15.8 13.1c10.6-6.5 19.3-12 25.7-21.2zm-247 14.2c2.4 0 7.5 4.6 9.4 7l26.1 31.1c-7.7-2.1-13.3-7.1-17.6-13.7-6.5-7.3-11.3-16.6-21.2-19.6-9-5-5.2-6.4 2.1-2.2-.3-1.9.2-2.6 1.2-2.6z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 4.3 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M255.703 44.764c-6.176 0-12.353 1.384-17.137 4.152l-152.752 88.36c-9.57 5.535-9.57 14.29 0 19.826l152.752 88.359c9.57 5.536 24.703 5.536 34.272 0l152.754-88.36c9.57-5.534 9.57-14.289 0-19.824L272.838 48.916c-4.785-2.77-10.96-4.152-17.135-4.152zm-23.39 39.847l23.8 14.875-46.263 27.76 19.427 12.14a38.645 38.645 0 0 1 4.75-4.702c1.743-1.527 3.752-2.974 6.03-4.34 12.953-7.772 26.878-11.423 41.771-10.95 14.838.439 29.095 4.933 42.776 13.483 13.568 8.48 20.256 17.485 20.06 27.012-.148 9.498-7.198 18.43-21.148 26.8-6.026 3.616-12.705 6.767-20.037 9.45-7.23 2.689-15.166 4.908-23.805 6.658l-25.483-15.928c9.714-1.02 18.138-2.469 25.272-4.346 7.182-1.905 13.075-4.238 17.678-7 6.643-3.985 9.956-8.308 9.94-12.968-.026-4.724-3.318-9.137-9.878-13.237-6.616-4.135-13.752-6.24-21.408-6.316-7.609-.105-14.734 1.834-21.377 5.82-3.938 2.363-7.521 5.268-10.748 8.715-3.283 3.412-6.225 7.444-8.826 12.096l-70.645-44.153 68.113-40.869zm203.554 89.203c-1.938.074-4.218.858-6.955 2.413l-146.935 84.847c-9.57 5.527-17.14 18.638-17.14 29.69v157.699c0 11.05 7.57 15.419 17.14 9.89l146.937-84.843c9.57-5.527 17.137-18.636 17.137-29.688v-157.7c-2.497-8.048-5.23-12.495-10.184-12.308zm-359.763.48c-6.227 0-10.033 5.325-10.155 11.825v157.697c0 11.052 7.57 24.163 17.14 29.69l146.93 84.848c9.57 5.526 17.141 1.156 17.141-9.895v-157.7c0-11.051-7.57-24.159-17.14-29.687L83.09 176.225c-2.567-1.338-4.911-1.93-6.986-1.93zM393.4 233.587v24.264c-4.264-.079-8.281.397-12.052 1.43-3.771.973-7.454 2.538-11.045 4.693-7.722 4.633-13.737 11.055-18.047 19.267-4.31 8.154-6.825 17.955-7.543 29.405 2.963-4.65 6.174-8.715 9.63-12.196 3.458-3.54 7.228-6.535 11.313-8.986 10.28-6.168 18.565-7.211 24.85-3.129 6.33 4.055 9.494 12.442 9.494 25.16 0 14.066-3.524 27.462-10.572 40.19-7.049 12.668-16.498 22.558-28.35 29.67-13.064 7.838-23.188 8.17-30.371.992-7.138-7.263-10.707-21.474-10.707-42.631 0-21.685 4.175-41.216 12.525-58.592 8.395-17.462 19.889-30.57 34.479-39.324 4.624-2.775 9.112-5 13.467-6.676 4.354-1.675 8.665-2.854 12.93-3.537zm-242.789 13.582l27.635 16.58v85.809L192 357.809v25.414l-13.754-8.252v24.777l-23.502-14.102V360.87L112 335.223v-30.06l38.611-57.995zm4.133 31.355l-27.248 40.582 27.248 16.35v-56.932zm212.596 35.182c-1.706.057-3.703.773-5.992 2.147-4.535 2.72-7.947 6.701-10.237 11.943-2.244 5.156-3.367 11.572-3.367 19.25 0 7.678 1.123 12.777 3.367 15.299 2.29 2.436 5.702 2.295 10.237-.426 4.579-2.748 7.99-6.701 10.234-11.857 2.29-5.242 3.436-11.702 3.436-19.38 0-7.677-1.146-12.733-3.436-15.17-1.122-1.26-2.536-1.862-4.242-1.806z" fill="#fff" fill-opacity="1"></path></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 9.5 MiB |
|
After Width: | Height: | Size: 6.4 MiB |
|
|
@ -0,0 +1,259 @@
|
||||||
|
.midgard5 .flexrow {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.midgard5 h3 {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
.midgard5 .sheet.character form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.midgard5 .sheet.character .sheet-content {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.midgard5 .sheet.character .sheet-content .editor {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.midgard5 .sheet.character .profile-img {
|
||||||
|
height: 64px;
|
||||||
|
width: 64px;
|
||||||
|
}
|
||||||
|
.midgard5 .sheet.character .description {
|
||||||
|
flex: 0 0 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.midgard5 .level-display {
|
||||||
|
text-align: right;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.midgard5 td,
|
||||||
|
.midgard5 th {
|
||||||
|
padding: 0 0.5rem 0 0.5rem;
|
||||||
|
}
|
||||||
|
.midgard5 td.center,
|
||||||
|
.midgard5 th.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5 td.fixed-value,
|
||||||
|
.midgard5 th.fixed-value {
|
||||||
|
width: 3rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5 input.skill {
|
||||||
|
width: 5rem;
|
||||||
|
}
|
||||||
|
.midgard5 input.fixed {
|
||||||
|
width: 5rem;
|
||||||
|
}
|
||||||
|
.midgard5 .new-skill {
|
||||||
|
font-style: italic;
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
color: rgba(255, 255, 255);
|
||||||
|
}
|
||||||
|
.midgard5 .new-skill button {
|
||||||
|
background: rgba(255, 255, 255, 0.5);
|
||||||
|
}
|
||||||
|
.midgard5 button.roll-button {
|
||||||
|
background: url(/icons/svg/d20-black.svg) no-repeat;
|
||||||
|
background-size: 24px 24px;
|
||||||
|
width: 26px;
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
.midgard5 span.spell-process {
|
||||||
|
color: #5d5d5d;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.midgard5 .filler {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar {
|
||||||
|
height: 2rem;
|
||||||
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 1px;
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar input {
|
||||||
|
flex: 0 0 3rem;
|
||||||
|
text-align: center;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #6d6c66;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: bold;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar .lp-bar-item-empty,
|
||||||
|
.midgard5 .health-bar .ap-bar-item-empty {
|
||||||
|
flex-grow: 1;
|
||||||
|
background-color: #c9c9c9;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar .lp-bar-item {
|
||||||
|
flex-grow: 1;
|
||||||
|
background-color: #39ea8b;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar .ap-bar-item {
|
||||||
|
flex-grow: 1;
|
||||||
|
background-color: #39a3ea;
|
||||||
|
}
|
||||||
|
.midgard5 .health-bar .negative-bar-item {
|
||||||
|
flex-grow: 1;
|
||||||
|
background-color: #ea3939;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute {
|
||||||
|
flex: 0 0 7rem;
|
||||||
|
margin: 0;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||||
|
border-radius: 10;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
color: #ffffff;
|
||||||
|
height: 2.5rem;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-main {
|
||||||
|
padding: 0.2rem;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-main .attribute-main-value {
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-main .attribute-main-bonus {
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-footer {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 0.3rem;
|
||||||
|
padding: 0.3rem;
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
.midgard5 .attributes .attribute .attribute-footer input {
|
||||||
|
flex-grow: 1;
|
||||||
|
text-align: center;
|
||||||
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.midgard5.sheet.item form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item .sheet-content {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item .sheet-content .editor {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item .item-img {
|
||||||
|
height: 64px;
|
||||||
|
width: 64px;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item td,
|
||||||
|
.midgard5.sheet.item th {
|
||||||
|
padding: 0 0.5rem 0 0.5rem;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item td.center,
|
||||||
|
.midgard5.sheet.item th.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item td.fixed-value,
|
||||||
|
.midgard5.sheet.item th.fixed-value {
|
||||||
|
width: 3rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item table.rolls-table .col-enabled {
|
||||||
|
width: 3rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item table.rolls-table .col-create {
|
||||||
|
width: 3rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item table.rolls-table .col-create button {
|
||||||
|
background: rgba(255, 255, 255, 0.5);
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item table.rolls-table .col-delete {
|
||||||
|
width: 3rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.midgard5.sheet.item table.rolls-table .col-label {
|
||||||
|
width: 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m5-roll .roll-title {
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
padding: 0.3rem 0 0.1rem 0;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.3rem;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-spell-details {
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-result {
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-result .roll-total {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-result .roll-detail {
|
||||||
|
width: 100%;
|
||||||
|
margin-left: -100%;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-row:not( :hover ) .roll-total {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-row:not( :hover ) .roll-detail {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-row:hover .roll-total {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-row:hover .roll-detail {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-ew-result-fumble {
|
||||||
|
background-color: #ca3636;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-ew-result-critical {
|
||||||
|
background-color: #cac536;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-ew-result-high {
|
||||||
|
background-color: #368aca;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-ew-result-fail {
|
||||||
|
background-color: #753f83;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.m5-roll .roll-ew-result-pass {
|
||||||
|
background-color: #36ca58;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
{
|
||||||
|
"ACTOR.TypeCharacter": "Charakter",
|
||||||
|
"ACTOR.TypeNpc": "Kreatur / Nichtspielerfigur",
|
||||||
|
"ACTOR.TypeVehicle": "Transportmittel / Pferd etc.",
|
||||||
|
|
||||||
|
"ITEM.TypeItem": "Gegenstand",
|
||||||
|
"ITEM.TypeWeapon": "Waffe",
|
||||||
|
"ITEM.TypeDefensiveWeapon": "Verteidigungswaffe",
|
||||||
|
"ITEM.TypeArmor": "Rüstung",
|
||||||
|
"ITEM.TypeSpell": "Zauber",
|
||||||
|
|
||||||
|
"midgard5.doRoll": "Würfeln",
|
||||||
|
"midgard5.learn": "Lernen",
|
||||||
|
|
||||||
|
"midgard5.label": "Bezeichnung",
|
||||||
|
"midgard5.description": "Beschreibung",
|
||||||
|
"midgard5.attribute": "Leiteigenschaft",
|
||||||
|
"midgard5.skill": "Fertigkeit",
|
||||||
|
"midgard5.skill-value": "Fertigkeitswert",
|
||||||
|
"midgard5.fw": "FW",
|
||||||
|
"midgard5.bonus": "Bonus",
|
||||||
|
"midgard5.ew": "EW",
|
||||||
|
"midgard5.pp-short": "PP",
|
||||||
|
"midgard5.pp": "Praxispunkte",
|
||||||
|
|
||||||
|
"midgard5.item-value": "Wert",
|
||||||
|
"midgard5.item-quantity": "Menge",
|
||||||
|
"midgard5.item-onbody": "Am Körper",
|
||||||
|
"midgard5.item-ismagic": "Ist Magisch",
|
||||||
|
|
||||||
|
"midgard5.actor-lp": "Lebenspunkte",
|
||||||
|
"midgard5.actor-lp-short": "LP",
|
||||||
|
"midgard5.actor-ap": "Ausdauerpunkte",
|
||||||
|
"midgard5.actor-ap-short": "AP",
|
||||||
|
"midgard5.actor-st": "St",
|
||||||
|
"midgard5.actor-st-long": "Stärke",
|
||||||
|
"midgard5.actor-ko": "Ko",
|
||||||
|
"midgard5.actor-ko-long": "Konstitution",
|
||||||
|
"midgard5.actor-au": "Au",
|
||||||
|
"midgard5.actor-au-long": "Aussehen",
|
||||||
|
"midgard5.actor-gs": "Gs",
|
||||||
|
"midgard5.actor-gs-long": "Geschicklichkeit",
|
||||||
|
"midgard5.actor-in": "In",
|
||||||
|
"midgard5.actor-in-long": "Intelligenz",
|
||||||
|
"midgard5.actor-pa": "pA",
|
||||||
|
"midgard5.actor-pa-long": "persönliche Ausstrahlung",
|
||||||
|
"midgard5.actor-gw": "Gw",
|
||||||
|
"midgard5.actor-gw-long": "Gewandtheit",
|
||||||
|
"midgard5.actor-zt": "Zt",
|
||||||
|
"midgard5.actor-zt-long": "Zaubertalent",
|
||||||
|
"midgard5.actor-wk": "Wk",
|
||||||
|
"midgard5.actor-wk-long": "Willenskraft",
|
||||||
|
|
||||||
|
"midgard5.aktuell": "Akt.",
|
||||||
|
"midgard5.maximum": "Max.",
|
||||||
|
"midgard5.attrvalue": "Wert",
|
||||||
|
"midgard5.movementRange": "Bewegungsweite",
|
||||||
|
|
||||||
|
"midgard5.base_values": "Grundwerte",
|
||||||
|
"midgard5.skills": "Fertigkeiten",
|
||||||
|
"midgard5.gear": "Ausrüstung",
|
||||||
|
"midgard5.spells": "Zauber",
|
||||||
|
|
||||||
|
"midgard5.class": "Klasse",
|
||||||
|
"midgard5.race": "Rasse",
|
||||||
|
"midgard5.magicUsing": "zauberkundig",
|
||||||
|
"midgard5.gender": "Geschlecht",
|
||||||
|
"midgard5.weight": "Gewicht",
|
||||||
|
"midgard5.height": "Größe",
|
||||||
|
"midgard5.shape": "Gestalt",
|
||||||
|
"midgard5.age": "Alter",
|
||||||
|
"midgard5.caste": "Stand",
|
||||||
|
"midgard5.occupation": "Beruf",
|
||||||
|
"midgard5.origin": "Heimat",
|
||||||
|
"midgard5.faith": "Glaube",
|
||||||
|
|
||||||
|
"midgard5.exp-overall": "Erfahrungsschatz",
|
||||||
|
"midgard5.exp-available": "Erfahrungspunkte",
|
||||||
|
"midgard5.grace": "Göttliche Gnade",
|
||||||
|
"midgard5.destiny": "Schicksalsgunst",
|
||||||
|
"midgard5.luckPoints": "Glückspunkte",
|
||||||
|
|
||||||
|
"midgard5.akrobatik": "Akrobatik",
|
||||||
|
"midgard5.alchimie": "Alchimie",
|
||||||
|
"midgard5.anfuehren": "Anführen",
|
||||||
|
"midgard5.athletik": "Athletik",
|
||||||
|
"midgard5.balancieren": "Balancieren",
|
||||||
|
"midgard5.beidhaendigerKampf": "Beidhändiger Kampf",
|
||||||
|
"midgard5.beredsamkeit": "Beredsamkeit",
|
||||||
|
"midgard5.betaeuben": "Betäuben",
|
||||||
|
"midgard5.bootfahren": "Bootfahren",
|
||||||
|
"midgard5.ersteHilfe": "Erste Hilfe",
|
||||||
|
"midgard5.etikette": "Etikette",
|
||||||
|
"midgard5.fallenEntdecken": "Fallen entdecken",
|
||||||
|
"midgard5.fallenmechanik": "Fallenmechanik",
|
||||||
|
"midgard5.faelschen": "Fälschen",
|
||||||
|
"midgard5.fechten": "Fechten",
|
||||||
|
"midgard5.gassenwissen": "Gassenwissen",
|
||||||
|
"midgard5.gaukeln": "Gaukeln",
|
||||||
|
"midgard5.gelaendelauf": "Geländelauf",
|
||||||
|
"midgard5.geraetekunde": "Gerätekunde",
|
||||||
|
"midgard5.geschaeftssinn": "Geschäftssinn",
|
||||||
|
"midgard5.gluecksspiel": "Glücksspiel",
|
||||||
|
"midgard5.heilkunde": "Heilkunde",
|
||||||
|
"midgard5.kampfInVollruestung": "Kampf in Vollrüstung",
|
||||||
|
"midgard5.klettern": "Klettern",
|
||||||
|
"midgard5.landeskunde": "Landeskunde",
|
||||||
|
"midgard5.laufen": "Laufen",
|
||||||
|
"midgard5.lesenVonZauberschrift": "Lesen von Zauberschrift",
|
||||||
|
"midgard5.meditieren": "Meditieren",
|
||||||
|
"midgard5.menschenkenntnis": "Menschenkenntnis",
|
||||||
|
"midgard5.meucheln": "Meucheln",
|
||||||
|
"midgard5.musizieren": "Musizieren",
|
||||||
|
"midgard5.naturkunde": "Naturkunde",
|
||||||
|
"midgard5.pflanzenkunde": "Pflanzenkunde",
|
||||||
|
"midgard5.reiten": "Reiten",
|
||||||
|
"midgard5.reiterkampf": "Reiterkampf",
|
||||||
|
"midgard5.scharfschiessen": "Scharfschießen",
|
||||||
|
"midgard5.schleichen": "Schleichen",
|
||||||
|
"midgard5.schloesserOeffnen": "Schlösser öffnen",
|
||||||
|
"midgard5.schwimmen": "Schwimmen",
|
||||||
|
"midgard5.seilkunst": "Seilkunst",
|
||||||
|
"midgard5.spurensuche": "Spurensuche",
|
||||||
|
"midgard5.stehlen": "Stehlen",
|
||||||
|
"midgard5.tarnen": "Tarnen",
|
||||||
|
"midgard5.tauchen": "Tauchen",
|
||||||
|
"midgard5.tierkunde": "Tierkunde",
|
||||||
|
"midgard5.ueberleben": "Überleben",
|
||||||
|
"midgard5.verfuehren": "Verführen",
|
||||||
|
"midgard5.verhoeren": "Verhören",
|
||||||
|
"midgard5.verstellen": "Verstellen",
|
||||||
|
"midgard5.wagenlenken": "Wagenlenken",
|
||||||
|
"midgard5.zauberkunde": "Zauberkunde",
|
||||||
|
|
||||||
|
"midgard5.armor": "Rüstung",
|
||||||
|
"midgard5.defense": "Abwehr",
|
||||||
|
"midgard5.damageBonus": "Schadensbonus",
|
||||||
|
"midgard5.damageBonus-short": "SchB",
|
||||||
|
"midgard5.attackBonus": "Angriffsbonus",
|
||||||
|
"midgard5.attackBonus-short": "AnB",
|
||||||
|
"midgard5.defenseBonus": "Abwehrbonus",
|
||||||
|
"midgard5.defenseBonus-short": "AbB",
|
||||||
|
"midgard5.movementBonus": "Bewegunsbonus",
|
||||||
|
"midgard5.resistanceMind": "Resistenz Geist",
|
||||||
|
"midgard5.resistanceBody": "Resistenz Körper",
|
||||||
|
"midgard5.spellCasting": "Zaubern",
|
||||||
|
"midgard5.spellBonus": "Zauberbonus",
|
||||||
|
"midgard5.brawl": "Raufen",
|
||||||
|
"midgard5.poisonResistance": "Giftresistenz",
|
||||||
|
"midgard5.enduranceBonus": "Ausdauerbonus",
|
||||||
|
|
||||||
|
"midgard5.new-skill": "Neue Fertigkeit",
|
||||||
|
"midgard5.special": "Spezial",
|
||||||
|
"midgard5.learned-skill": "Gelernte Fertigkeit",
|
||||||
|
"midgard5.language": "Sprache",
|
||||||
|
"midgard5.weapon-skill": "Waffenfertigkeit",
|
||||||
|
"midgard5.unlearned-skill": "Ungelernte Fertigkeit",
|
||||||
|
"midgard5.innate-ability": "Angeborene Fähigkeit",
|
||||||
|
|
||||||
|
"midgard5.base-damage": "Grundschaden",
|
||||||
|
"midgard5.defensive-weapon": "Verteidigungswaffe",
|
||||||
|
"midgard5.no-skill": "Keine Fertigkeit",
|
||||||
|
"midgard5.magic": "magisch",
|
||||||
|
"midgard5.rangedWeapon": "Schusswaffe",
|
||||||
|
"midgard5.assignItemToCharacter": "Füge Gegenstand einem Charakter hinzu, um Fähigkeit auwählen zu können",
|
||||||
|
|
||||||
|
"midgard5.pw": "Prüfwurf",
|
||||||
|
"midgard5.attack": "Angriff",
|
||||||
|
"midgard5.damage": "Schaden",
|
||||||
|
|
||||||
|
"midgard5.spell-process-none": "Ohne",
|
||||||
|
"midgard5.spell-process-beherrschen": "Beherrschen",
|
||||||
|
"midgard5.spell-process-bewegen": "Bewegen",
|
||||||
|
"midgard5.spell-process-erkennen": "Erkennen",
|
||||||
|
"midgard5.spell-process-erschaffen": "Erschaffen",
|
||||||
|
"midgard5.spell-process-formen": "Formen",
|
||||||
|
"midgard5.spell-process-veraendern": "Verändern",
|
||||||
|
"midgard5.spell-process-zerstoeren": "Zerstören",
|
||||||
|
"midgard5.spell-process-wundertat": "Wundertat",
|
||||||
|
"midgard5.spell-process-dweomer": "Dweomer",
|
||||||
|
"midgard5.spell-process-zauberlied": "Zauberlied",
|
||||||
|
"midgard5.spell-process-salz": "Salz",
|
||||||
|
"midgard5.spell-process-thaumagraphie": "Thaumagraphie",
|
||||||
|
"midgard5.spell-process-beschwoeren": "Beschwören",
|
||||||
|
"midgard5.spell-process-nekromantie": "Nekromantie",
|
||||||
|
"midgard5.spell-process-thaumatherapie": "Thaumatherapie",
|
||||||
|
"midgard5.spell-process-zaubermittel": "Zaubermittel",
|
||||||
|
"midgard5.spell-process-zauberschutz": "Zauberschutz",
|
||||||
|
|
||||||
|
"midgard5.spell-type-gedanke": "Gedanke",
|
||||||
|
"midgard5.spell-type-geste": "Geste",
|
||||||
|
"midgard5.spell-type-wort": "Wort",
|
||||||
|
|
||||||
|
"midgard5.spell-target-umgebung": "Umgebung",
|
||||||
|
"midgard5.spell-target-geist": "Geist",
|
||||||
|
"midgard5.spell-target-koerper": "Körper",
|
||||||
|
|
||||||
|
"midgard5.spell-type": "Art",
|
||||||
|
"midgard5.spell-process": "Prozess",
|
||||||
|
"midgard5.spell-castDuration": "Zauberdauer",
|
||||||
|
"midgard5.spell-range": "Reichweite",
|
||||||
|
"midgard5.spell-effectTarget": "Wirkunsziel",
|
||||||
|
"midgard5.spell-effectArea": "Wirkungsbereich",
|
||||||
|
"midgard5.spell-effectDuration": "Wirkungsdauer",
|
||||||
|
"midgard5.spell-origin": "Ursprung",
|
||||||
|
|
||||||
|
"midgard5.mod-operation-add100": "Addieren (max 100)",
|
||||||
|
"midgard5.mod-operation-add": "Addieren",
|
||||||
|
"midgard5.mod-operation-set": "Basiswert",
|
||||||
|
"midgard5.mod-operation-fixed": "Fester Wert",
|
||||||
|
|
||||||
|
"midgard5.mod-stat-defenseBonus": "Abwehrbonus",
|
||||||
|
"midgard5.mod-stat-attackBonus": "Angriffsbonus",
|
||||||
|
"midgard5.mod-stat-damageBonus": "Schadensbonus",
|
||||||
|
"midgard5.mod-stat-movement": "Bewegung",
|
||||||
|
"midgard5.mod-stat-resistanceMind": "Resistenz Geist",
|
||||||
|
"midgard5.mod-stat-resistanceBody": "Resistenz Körper",
|
||||||
|
"midgard5.mod-stat-spellCasting": "Zaubern",
|
||||||
|
"midgard5.mod-stat-brawl": "Raufen",
|
||||||
|
"midgard5.mod-stat-poisonResistance": "Giftresistenz",
|
||||||
|
"midgard5.mod-stat-lp": "Lebenspunkte",
|
||||||
|
"midgard5.mod-stat-ap": "Ausdauerpunkte",
|
||||||
|
|
||||||
|
"midgard5.mod-type": "Typ der Modifikation",
|
||||||
|
"midgard5.mod-id": "Was soll modifiziert werden",
|
||||||
|
"midgard5.mod-operation": "Wie soll modifiziert werden",
|
||||||
|
"midgard5.mod-value": "Wert",
|
||||||
|
|
||||||
|
"midgard5.type": "Typ",
|
||||||
|
"midgard5.formula": "Formel",
|
||||||
|
"midgard5.roll": "Wurf"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"name":"Grad 01","type":"character","img":"icons/svg/mystery-man.svg","system":{"lp":{"value":15,"min":0,"max":15},"ap":{"value":20,"min":0,"max":20},"attributes":{"st":{"value":50,"bonus":0},"gs":{"value":50,"bonus":0},"gw":{"value":50,"bonus":0},"ko":{"value":50,"bonus":0},"in":{"value":50,"bonus":0},"zt":{"value":50,"bonus":0},"au":{"value":50,"bonus":0},"pa":{"value":50,"bonus":0},"wk":{"value":50,"bonus":0}},"info":{"description":"","class":"","race":"","magicUsing":false,"gender":"","weight":"","height":"","shape":"","age":"","caste":"","occupation":"","origin":"","faith":""},"es":0,"ep":0,"gg":0,"sg":0,"gp":2,"skills":{"general":{"akrobatik":{"fw":6,"attribute":"gw","initial":8,"pp":0},"alchimie":{"fw":0,"attribute":"in","initial":8,"pp":0},"anfuehren":{"fw":6,"attribute":"pa","initial":8,"pp":0},"athletik":{"fw":0,"attribute":"st","initial":8,"pp":0},"balancieren":{"fw":6,"attribute":"gw","initial":8,"pp":0},"beidhaendigerKampf":{"fw":0,"attribute":"gs","initial":8,"pp":0},"beredsamkeit":{"fw":3,"attribute":"pa","initial":8,"pp":0},"betaeuben":{"fw":6,"attribute":"gs","initial":8,"pp":0},"bootfahren":{"fw":3,"attribute":"gs","initial":8,"pp":0},"ersteHilfe":{"fw":0,"attribute":"gs","initial":8,"pp":0},"etikette":{"fw":0,"attribute":"in","initial":8,"pp":0},"fallenEntdecken":{"fw":0,"attribute":"in","initial":8,"pp":0},"fallenmechanik":{"fw":0,"attribute":"gs","initial":8,"pp":0},"faelschen":{"fw":0,"attribute":"gs","initial":8,"pp":0},"fechten":{"fw":0,"attribute":"gs","initial":8,"pp":0},"gassenwissen":{"fw":0,"attribute":"in","initial":8,"pp":0},"gaukeln":{"fw":0,"attribute":"gs","initial":8,"pp":0},"gelaendelauf":{"fw":6,"attribute":"gw","initial":8,"pp":0},"geraetekunde":{"fw":0,"attribute":"in","initial":8,"pp":0},"geschaeftssinn":{"fw":0,"attribute":"in","initial":8,"pp":0},"gluecksspiel":{"fw":0,"attribute":"gs","initial":8,"pp":0},"heilkunde":{"fw":0,"attribute":"in","initial":8,"pp":0},"kampfInVollruestung":{"fw":0,"attribute":"st","initial":8,"pp":0},"klettern":{"fw":6,"attribute":"st","initial":8,"pp":0},"landeskunde":{"fw":6,"attribute":"in","initial":8,"pp":0},"laufen":{"fw":0,"attribute":"ko","initial":8,"pp":0},"lesenVonZauberschrift":{"fw":0,"attribute":"in","initial":8,"pp":0},"meditieren":{"fw":0,"attribute":"wk","initial":8,"pp":0},"menschenkenntnis":{"fw":3,"attribute":"in","initial":8,"pp":0},"meucheln":{"fw":0,"attribute":"gs","initial":8,"pp":0},"musizieren":{"fw":0,"attribute":"gs","initial":8,"pp":0},"naturkunde":{"fw":0,"attribute":"in","initial":8,"pp":0},"pflanzenkunde":{"fw":0,"attribute":"in","initial":8,"pp":0},"reiten":{"fw":6,"attribute":"gw","initial":8,"pp":0},"reiterkampf":{"fw":0,"attribute":"gw","initial":8,"pp":0},"scharfschiessen":{"fw":0,"attribute":"gs","initial":8,"pp":0},"schleichen":{"fw":3,"attribute":"gw","initial":8,"pp":0},"schloesserOeffnen":{"fw":0,"attribute":"gs","initial":8,"pp":0},"schwimmen":{"fw":3,"attribute":"gw","initial":8,"pp":0},"seilkunst":{"fw":3,"attribute":"gs","initial":8,"pp":0},"spurensuche":{"fw":0,"attribute":"in","initial":8,"pp":0},"stehlen":{"fw":3,"attribute":"gs","initial":8,"pp":0},"tarnen":{"fw":3,"attribute":"gw","initial":8,"pp":0},"tauchen":{"fw":6,"attribute":"ko","initial":8,"pp":0},"tierkunde":{"fw":0,"attribute":"in","initial":8,"pp":0},"ueberleben":{"fw":6,"attribute":"in","initial":8,"pp":0},"verfuehren":{"fw":3,"attribute":"pa","initial":8,"pp":0},"verhoeren":{"fw":3,"attribute":"pa","initial":8,"pp":0},"verstellen":{"fw":3,"attribute":"pa","initial":8,"pp":0},"wagenlenken":{"fw":3,"attribute":"gs","initial":8,"pp":0},"zauberkunde":{"fw":0,"attribute":"in","initial":8,"pp":0}}},"calc":{}},"prototypeToken":{"name":"Spielfigur","displayName":0,"actorLink":false,"texture":{"src":"icons/svg/mystery-man.svg","scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0,"tint":null},"width":1,"height":1,"lockRotation":false,"rotation":0,"alpha":1,"disposition":-1,"displayBars":0,"bar1":{"attribute":"lp"},"bar2":{"attribute":"ap"},"light":{"alpha":0.5,"angle":360,"bright":0,"color":null,"coloration":1,"dim":0,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"darkness":{"min":0,"max":1}},"sight":{"enabled":false,"range":null,"angle":360,"visionMode":"basic","color":null,"attenuation":0.1,"brightness":0,"saturation":0,"contrast":0},"detectionModes":[],"flags":{},"randomImg":false},"items":[],"effects":[],"flags":{"core":{"sourceId":"Actor.25UihsoT43jms4Rx"}},"_stats":{"systemId":"midgard5e","systemVersion":"1.1.0","coreVersion":"10.291","createdTime":1681861642287,"modifiedTime":1681862257893,"lastModifiedBy":"Fphp3NQlJ6KWctyq"},"folder":null,"sort":0,"ownership":{"default":0,"Fphp3NQlJ6KWctyq":3},"_id":"k21WA0JziDJ7yJ1U"}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{"name":"Fernkampfwaffe","type":"weapon","img":"icons/svg/item-bag.svg","data":{"description":"","stats":{"damageBonus":0,"attackBonus":0,"defenseBonus":0,"movementBonus":0,"resistanceMind":0,"resistanceBody":0,"spellBonus":0},"equippable":false,"equipped":true,"value":0,"magic":false,"special":false,"ranged":true,"skillId":"","damageBase":"1d6","rolls":{"formulas":{"0":{"formula":"1d20 + @i.calc.fw + @i.calc.bonus + @i.calc.special + @c.calc.stats.attackBonus.value + @i.stats.attackBonus","label":"Angriff","enabled":true},"1":{"formula":"@i.damageBase + @i.stats.damageBonus","label":"Schaden","enabled":true}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"h1inVuRJQI42JTCs"}
|
||||||
|
{"name":"Gewöhnliche Fertigkeit","type":"skill","img":"icons/svg/item-bag.svg","data":{"description":"","attributes":{"st":{"short":"midgard5.actor-st","long":"midgard5.actor-st-long"},"gs":{"short":"midgard5.actor-gs","long":"midgard5.actor-gs-long"},"gw":{"short":"midgard5.actor-gw","long":"midgard5.actor-gw-long"},"ko":{"short":"midgard5.actor-ko","long":"midgard5.actor-ko-long"},"in":{"short":"midgard5.actor-in","long":"midgard5.actor-in-long"},"zt":{"short":"midgard5.actor-zt","long":"midgard5.actor-zt-long"},"au":{"short":"midgard5.actor-au","long":"midgard5.actor-au-long"},"pa":{"short":"midgard5.actor-pa","long":"midgard5.actor-pa-long"},"wk":{"short":"midgard5.actor-wk","long":"midgard5.actor-wk-long"}},"fw":8,"attribute":"st","skill":"","type":"general","rolls":{"formulas":{"0":{"formula":"1d20 + @i.fw + @i.calc.bonus","enabled":true,"label":"EW"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"4N0IgVDj1eee0hSB"}
|
||||||
|
{"name":"Angeborene Fähigkeit","type":"skill","img":"icons/svg/item-bag.svg","data":{"description":"","attributes":{"st":{"short":"midgard5.actor-st","long":"midgard5.actor-st-long"},"gs":{"short":"midgard5.actor-gs","long":"midgard5.actor-gs-long"},"gw":{"short":"midgard5.actor-gw","long":"midgard5.actor-gw-long"},"ko":{"short":"midgard5.actor-ko","long":"midgard5.actor-ko-long"},"in":{"short":"midgard5.actor-in","long":"midgard5.actor-in-long"},"zt":{"short":"midgard5.actor-zt","long":"midgard5.actor-zt-long"},"au":{"short":"midgard5.actor-au","long":"midgard5.actor-au-long"},"pa":{"short":"midgard5.actor-pa","long":"midgard5.actor-pa-long"},"wk":{"short":"midgard5.actor-wk","long":"midgard5.actor-wk-long"}},"fw":6,"attribute":"","skill":"","type":"innate","rolls":{"formulas":{"0":{"formula":"1d20 + @i.fw + @i.calc.bonus","type":"ew","label":"EW"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"nkMkMFNDSdvlP1Jt"}
|
||||||
|
{"name":"Gegenstand","type":"item","img":"icons/svg/item-bag.svg","system":{"description":"","equippable":false,"equipped":true,"value":0,"magic":false,"rolls":{"formulas":{},"output":""},"mods":{},"calc":{}},"effects":[],"flags":{"core":{"sourceId":"Item.8GrWgO1jjysZPnxc"}},"_stats":{"systemId":"midgard5e","systemVersion":"1.1.0","coreVersion":"10.291","createdTime":1681862229001,"modifiedTime":1681862253981,"lastModifiedBy":"Fphp3NQlJ6KWctyq"},"folder":null,"sort":0,"ownership":{"default":0,"Fphp3NQlJ6KWctyq":3},"_id":"ERcxMh7hWiv42rfx"}
|
||||||
|
{"name":"Rüstung","type":"armor","img":"icons/svg/item-bag.svg","data":{"description":"","stats":{"damageBonus":0,"attackBonus":0,"defenseBonus":0,"movementBonus":0,"resistanceMind":0,"resistanceBody":0,"spellBonus":0},"equippable":false,"equipped":true,"attributeMod":{"st":0,"gs":0,"gw":0,"ko":0,"in":0,"zt":0,"au":0,"pa":0,"wk":0},"magic":false,"lpProtection":0,"apProtection":0,"rolls":{"formulas":{},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"pV1hNavlQGJ9UaEf"}
|
||||||
|
{"name":"Sprache","type":"skill","img":"icons/svg/item-bag.svg","data":{"description":"","attributes":{"st":{"short":"midgard5.actor-st","long":"midgard5.actor-st-long"},"gs":{"short":"midgard5.actor-gs","long":"midgard5.actor-gs-long"},"gw":{"short":"midgard5.actor-gw","long":"midgard5.actor-gw-long"},"ko":{"short":"midgard5.actor-ko","long":"midgard5.actor-ko-long"},"in":{"short":"midgard5.actor-in","long":"midgard5.actor-in-long"},"zt":{"short":"midgard5.actor-zt","long":"midgard5.actor-zt-long"},"au":{"short":"midgard5.actor-au","long":"midgard5.actor-au-long"},"pa":{"short":"midgard5.actor-pa","long":"midgard5.actor-pa-long"},"wk":{"short":"midgard5.actor-wk","long":"midgard5.actor-wk-long"}},"fw":8,"attribute":"in","skill":"","type":"language","rolls":{"formulas":{"0":{"formula":"1d20 + @i.calc.fw + @i.calc.bonus","enabled":true,"label":"EW"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"rDN14z3lNJISWTdO"}
|
||||||
|
{"name":"Verteidigungswaffe","type":"defensiveWeapon","img":"icons/svg/item-bag.svg","data":{"description":"","stats":{"damageBonus":0,"attackBonus":0,"defenseBonus":0,"movementBonus":0,"resistanceMind":0,"resistanceBody":0,"spellBonus":0},"equippable":false,"equipped":true,"special":false,"magic":false,"skillId":"","rolls":{"formulas":{"0":{"formula":"1d20 + @i.calc.fw + @i.calc.bonus + @i.calc.special + @c.calc.stats.defense.value + @c.calc.stats.defenseBonus.value + @i.stats.defenseBonus","enabled":true,"label":"Abwehr"}},"output":""},"calc":{},"damageBase":""},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"BNAoHN0vHfcwNUTl"}
|
||||||
|
{"name":"Waffe","type":"weapon","img":"icons/svg/item-bag.svg","data":{"description":"","stats":{"damageBonus":0,"attackBonus":0,"defenseBonus":0,"movementBonus":0,"resistanceMind":0,"resistanceBody":0,"spellBonus":0},"equippable":false,"equipped":true,"special":false,"magic":false,"ranged":false,"skillId":"","damageBase":"1d6","rolls":{"formulas":{"0":{"formula":"1d20 + @i.calc.fw + @i.calc.bonus + @i.calc.special + @c.calc.stats.attackBonus.value + @i.stats.attackBonus","enabled":true,"label":"Angriff"},"1":{"formula":"@i.damageBase + @i.stats.damageBonus + @c.calc.stats.damageBonus.value","enabled":true,"label":"Schaden"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"uGQJ4VPhh135e79a"}
|
||||||
|
{"name":"Waffenfertigkeit","type":"skill","img":"icons/svg/item-bag.svg","data":{"description":"","attributes":{"st":{"short":"midgard5.actor-st","long":"midgard5.actor-st-long"},"gs":{"short":"midgard5.actor-gs","long":"midgard5.actor-gs-long"},"gw":{"short":"midgard5.actor-gw","long":"midgard5.actor-gw-long"},"ko":{"short":"midgard5.actor-ko","long":"midgard5.actor-ko-long"},"in":{"short":"midgard5.actor-in","long":"midgard5.actor-in-long"},"zt":{"short":"midgard5.actor-zt","long":"midgard5.actor-zt-long"},"au":{"short":"midgard5.actor-au","long":"midgard5.actor-au-long"},"pa":{"short":"midgard5.actor-pa","long":"midgard5.actor-pa-long"},"wk":{"short":"midgard5.actor-wk","long":"midgard5.actor-wk-long"}},"fw":5,"attribute":"","skill":"","type":"combat","rolls":{"formulas":{"0":{"formula":"1d20 + @i.calc.fw + @i.calc.bonus","enabled":true,"label":"EW"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"1E4XHTGZlned2ofY"}
|
||||||
|
{"name":"Zauber","type":"spell","img":"icons/svg/item-bag.svg","data":{"description":"","spellProcessSelection":{"none":"midgard5.spell-process-none","beherrschen":"midgard5.spell-process-beherrschen","bewegen":"midgard5.spell-process-bewegen","erkennen":"midgard5.spell-process-erkennen","erschaffen":"midgard5.spell-process-erschaffen","formen":"midgard5.spell-process-formen","veraendern":"midgard5.spell-process-veraendern","zerstoeren":"midgard5.spell-process-zerstoeren","wundertat":"midgard5.spell-process-wundertat","dweomer":"midgard5.spell-process-dweomer","zauberlied":"midgard5.spell-process-zauberlied","salz":"midgard5.spell-process-salz","thaumagraphie":"midgard5.spell-process-thaumagraphie","beschwoeren":"midgard5.spell-process-beschwoeren","nekromantie":"midgard5.spell-process-nekromantie","thaumatherapie":"midgard5.spell-process-thaumatherapie","zaubermittel":"midgard5.spell-process-zaubermittel","zauberschutz":"midgard5.spell-process-zauberschutz"},"spellTypeSelection":{"gedanke":"midgard5.spell-type-gedanke","geste":"midgard5.spell-type-geste","wort":"midgard5.spell-type-wort"},"spellTargetSelection":{"umgebung":"midgard5.spell-target-umgebung","geist":"midgard5.spell-target-geist","koerper":"midgard5.spell-target-koerper"},"bonus":0,"type":"gedanke","process":"none","ap":0,"castDuration":"","range":"","effectTarget":"umgebung","effectArea":"","effectDuration":"","origin":"","rolls":{"formulas":{"0":{"formula":"1d20 + @c.calc.stats.spellCasting.value + @i.bonus","enabled":true,"label":"Zaubern"}},"output":""},"calc":{}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"XD0IpWT6bN4AJiYQ":3},"_id":"HQ469FvZkwKfzFfu"}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
{"name":"Kritischer Erfolg bei der Abwehr","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"script","flags":{"core":{"sourceId":"Macro.P6jQGko7PdG6Xlhe"}},"scope":"global","command":"await game.tables.getName(\"Kritischer Erfolg bei der Abwehr\").draw()","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/macro/kriterfolgabwehr.svg","actorIds":[],"_id":"qWyrwvh7g9CbTKg9"}
|
||||||
|
{"name":"Kritischer Fehler bei Angriffen","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"script","flags":{"core":{"sourceId":"Macro.FZUermrYHSbrEluS"}},"scope":"global","command":"await game.tables.getName(\"Kritischer Fehler bei Angriffen\").draw()","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/macro/kritfehlerangriff.svg","actorIds":[],"_id":"798kmgnTkpfP89Z9"}
|
||||||
|
{"name":"Kritischer Fehler bei der Abwehr","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"script","flags":{"core":{"sourceId":"Macro.k1tLp8Q2NY9twiZ6"}},"scope":"global","command":"await game.tables.getName(\"Kritischer Fehler bei der Abwehr\").draw()","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/macro/kritfehlerabwehr.svg","actorIds":[],"_id":"W7rYb00B6rtabV05"}
|
||||||
|
{"name":"Kritischer Schaden","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"script","flags":{"core":{"sourceId":"Macro.QZlbT0tgD2aYW5YJ"}},"scope":"global","command":"await game.tables.getName(\"Kritischer Schaden\").draw()","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/macro/kriterfolgangriff.svg","actorIds":[],"_id":"48DUqxdpHDCGKOHp"}
|
||||||
|
{"name":"Kritische Fehler beim Zaubern","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"script","flags":{"core":{"sourceId":"Macro.e4KLlTBq8Z4Pt7In"}},"scope":"global","command":"await game.tables.getName(\"Kritischer Fehler beim Zaubern\").draw()","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/macro/kritfehlerzauber.svg","actorIds":[],"_id":"XtzGuyYRyX8wVi1e"}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
{"name":"1W10","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"chat","flags":{"core":{"sourceId":"Macro.TqmUKpMpY4GhiTML"}},"scope":"global","command":"/r 1d10","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/wurfel/w10.svg","actorIds":[],"_id":"YWsPRUpZpgLBKIB3"}
|
||||||
|
{"name":"1W100","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"chat","flags":{"core":{"sourceId":"Macro.S01PfXnvLPeuKOH8"}},"scope":"global","command":"/r 1d100","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/wurfel/w100.svg","actorIds":[],"_id":"pXZIfqDIX9VKYonr"}
|
||||||
|
{"name":"1W20","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"chat","flags":{"core":{"sourceId":"Macro.mj9nIEgk0UDz8tbH"}},"scope":"global","command":"/r 1d20","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/wurfel/w20.svg","actorIds":[],"_id":"qBoxslCQXxR22xKc"}
|
||||||
|
{"name":"1W6","permission":{"default":2,"CBq5YXAqbO7HoJ03":3},"type":"chat","flags":{"core":{"sourceId":"Macro.QBhV6De80g1wH6ot"}},"scope":"global","command":"/r 1d6","author":"CBq5YXAqbO7HoJ03","img":"systems/midgard5e/assets/icons/wurfel/w6.svg","actorIds":[],"_id":"5tpfRgbM5sTL9gur"}
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
{
|
||||||
|
"id": "midgard5e",
|
||||||
|
"title": "Midgard 5. Edition",
|
||||||
|
"description": "The German RPG Midgard 5. Edition",
|
||||||
|
"version": "1.2.3",
|
||||||
|
"compatibility": {
|
||||||
|
"minimum": "10",
|
||||||
|
"verified": "10"
|
||||||
|
},
|
||||||
|
"authors": [{ "name": "Byroks" }],
|
||||||
|
"scripts": ["bundle.js"],
|
||||||
|
"styles": ["bundle.css"],
|
||||||
|
"packs": [
|
||||||
|
{
|
||||||
|
"name": "blaupause-spielfiguren",
|
||||||
|
"label": "Blaupausen für Spielfiguren",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/actors/blaupause-spielfiguren.db",
|
||||||
|
"type": "Actor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "blaupause-gegenstaende",
|
||||||
|
"label": "Blaupausen für Gegenstände",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/items/blaupause-gegenstaende.db",
|
||||||
|
"type": "Item"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tabellen-kritische-ereignisse",
|
||||||
|
"label": "Tabellen Kritische Ereignisse",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/rolltables/tabellen-kritische-ereignisse.db",
|
||||||
|
"type": "RollTable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "makros-kritische-ereignisse",
|
||||||
|
"label": "Makros Kritische Ereignisse",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/macros/makros-kritische-ereignisse.db",
|
||||||
|
"type": "Macro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "makros-standardwurfel",
|
||||||
|
"label": "Standardwürfel",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/macros/makros-standardwurfel.db",
|
||||||
|
"type": "Macro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "scenes-midgard-karten",
|
||||||
|
"label": "Midgard-Karten",
|
||||||
|
"system": "midgard5e",
|
||||||
|
"path": "./packs/scenes/scenes-midgard-karten.db",
|
||||||
|
"type": "Scene"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"lang": "de",
|
||||||
|
"name": "Deutsch",
|
||||||
|
"path": "lang/de.json"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gridDistance": 1,
|
||||||
|
"gridUnits": "m",
|
||||||
|
"primaryTokenAttribute": "lp",
|
||||||
|
"secondaryTokenAttribute": "ap",
|
||||||
|
"url": "https://github.com/Byroks/foundry-vtt-system-midgard5",
|
||||||
|
"manifest": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v1.2.2/system.json",
|
||||||
|
"download": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v1.2.2/midgard5-v1.2.2.zip",
|
||||||
|
"initiative": "@calc.attributes.gw.value",
|
||||||
|
"license": "LICENSE.txt"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,309 @@
|
||||||
|
{
|
||||||
|
"Actor": {
|
||||||
|
"types": ["character"],
|
||||||
|
"templates": {
|
||||||
|
"characterDescription": {
|
||||||
|
"info": {
|
||||||
|
"description": "",
|
||||||
|
"class": "",
|
||||||
|
"race": "",
|
||||||
|
"magicUsing": false,
|
||||||
|
"gender": "",
|
||||||
|
"weight": "",
|
||||||
|
"height": "",
|
||||||
|
"shape": "",
|
||||||
|
"age": "",
|
||||||
|
"caste": "",
|
||||||
|
"occupation": "",
|
||||||
|
"origin": "",
|
||||||
|
"faith": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"characterBars": {
|
||||||
|
"lp": {
|
||||||
|
"value": 15,
|
||||||
|
"min": 0,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"ap": {
|
||||||
|
"value": 20,
|
||||||
|
"min": 0,
|
||||||
|
"max": 20
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"characterHeader": {
|
||||||
|
"es": 0,
|
||||||
|
"ep": 0,
|
||||||
|
"gg": 0,
|
||||||
|
"sg": 0,
|
||||||
|
"gp": 2
|
||||||
|
},
|
||||||
|
"attributes": {
|
||||||
|
"attributes": {
|
||||||
|
"st": { "value": 50, "bonus": 0 },
|
||||||
|
"gs": { "value": 50, "bonus": 0 },
|
||||||
|
"gw": { "value": 50, "bonus": 0 },
|
||||||
|
"ko": { "value": 50, "bonus": 0 },
|
||||||
|
"in": { "value": 50, "bonus": 0 },
|
||||||
|
"zt": { "value": 50, "bonus": 0 },
|
||||||
|
"au": { "value": 50, "bonus": 0 },
|
||||||
|
"pa": { "value": 50, "bonus": 0 },
|
||||||
|
"wk": { "value": 50, "bonus": 0 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"skills": {
|
||||||
|
"general": {
|
||||||
|
"akrobatik": { "fw": 6, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"alchimie": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"anfuehren": { "fw": 6, "attribute": "pa", "initial": 8, "pp": 0 },
|
||||||
|
"athletik": { "fw": 0, "attribute": "st", "initial": 8, "pp": 0 },
|
||||||
|
"balancieren": { "fw": 6, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"beidhaendigerKampf": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"beredsamkeit": { "fw": 3, "attribute": "pa", "initial": 8, "pp": 0 },
|
||||||
|
"betaeuben": { "fw": 6, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"bootfahren": { "fw": 3, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"ersteHilfe": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"etikette": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"fallenEntdecken": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"fallenmechanik": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"faelschen": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"fechten": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"gassenwissen": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"gaukeln": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"gelaendelauf": { "fw": 6, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"geraetekunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"geschaeftssinn": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"gluecksspiel": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"heilkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"kampfInVollruestung": { "fw": 0, "attribute": "st", "initial": 8, "pp": 0 },
|
||||||
|
"klettern": { "fw": 6, "attribute": "st", "initial": 8, "pp": 0 },
|
||||||
|
"landeskunde": { "fw": 6, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"laufen": { "fw": 0, "attribute": "ko", "initial": 8, "pp": 0 },
|
||||||
|
"lesenVonZauberschrift": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"meditieren": { "fw": 0, "attribute": "wk", "initial": 8, "pp": 0 },
|
||||||
|
"menschenkenntnis": { "fw": 3, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"meucheln": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"musizieren": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"naturkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"pflanzenkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"reiten": { "fw": 6, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"reiterkampf": { "fw": 0, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"scharfschiessen": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"schleichen": { "fw": 3, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"schloesserOeffnen": { "fw": 0, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"schwimmen": { "fw": 3, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"seilkunst": { "fw": 3, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"spurensuche": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"stehlen": { "fw": 3, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"tarnen": { "fw": 3, "attribute": "gw", "initial": 8, "pp": 0 },
|
||||||
|
"tauchen": { "fw": 6, "attribute": "ko", "initial": 8, "pp": 0 },
|
||||||
|
"tierkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"ueberleben": { "fw": 6, "attribute": "in", "initial": 8, "pp": 0 },
|
||||||
|
"verfuehren": { "fw": 3, "attribute": "pa", "initial": 8, "pp": 0 },
|
||||||
|
"verhoeren": { "fw": 3, "attribute": "pa", "initial": 8, "pp": 0 },
|
||||||
|
"verstellen": { "fw": 3, "attribute": "pa", "initial": 8, "pp": 0 },
|
||||||
|
"wagenlenken": { "fw": 3, "attribute": "gs", "initial": 8, "pp": 0 },
|
||||||
|
"zauberkunde": { "fw": 0, "attribute": "in", "initial": 8, "pp": 0 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"character": {
|
||||||
|
"templates": ["characterBars", "attributes", "characterDescription", "characterHeader", "skills"],
|
||||||
|
"calc": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Item": {
|
||||||
|
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "item"],
|
||||||
|
"templates": {
|
||||||
|
"itemDescription": {
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"stats": {
|
||||||
|
"stats": {
|
||||||
|
"damageBonus": 0,
|
||||||
|
"attackBonus": 0,
|
||||||
|
"defenseBonus": 0,
|
||||||
|
"movementBonus": 0,
|
||||||
|
"resistanceMind": 0,
|
||||||
|
"resistanceBody": 0,
|
||||||
|
"spellBonus": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"attributeSelection": {
|
||||||
|
"attributes": {
|
||||||
|
"st": { "short": "midgard5.actor-st", "long": "midgard5.actor-st-long" },
|
||||||
|
"gs": { "short": "midgard5.actor-gs", "long": "midgard5.actor-gs-long" },
|
||||||
|
"gw": { "short": "midgard5.actor-gw", "long": "midgard5.actor-gw-long" },
|
||||||
|
"ko": { "short": "midgard5.actor-ko", "long": "midgard5.actor-ko-long" },
|
||||||
|
"in": { "short": "midgard5.actor-in", "long": "midgard5.actor-in-long" },
|
||||||
|
"zt": { "short": "midgard5.actor-zt", "long": "midgard5.actor-zt-long" },
|
||||||
|
"au": { "short": "midgard5.actor-au", "long": "midgard5.actor-au-long" },
|
||||||
|
"pa": { "short": "midgard5.actor-pa", "long": "midgard5.actor-pa-long" },
|
||||||
|
"wk": { "short": "midgard5.actor-wk", "long": "midgard5.actor-wk-long" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"attributeMod": {
|
||||||
|
"attributeMod": {
|
||||||
|
"st": 0,
|
||||||
|
"gs": 0,
|
||||||
|
"gw": 0,
|
||||||
|
"ko": 0,
|
||||||
|
"in": 0,
|
||||||
|
"zt": 0,
|
||||||
|
"au": 0,
|
||||||
|
"pa": 0,
|
||||||
|
"wk": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rollable": {
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {},
|
||||||
|
"output": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"equippable": {
|
||||||
|
"equippable": false,
|
||||||
|
"equipped": true
|
||||||
|
},
|
||||||
|
"physical": {
|
||||||
|
"value": 0,
|
||||||
|
"magic": false
|
||||||
|
},
|
||||||
|
"spellSelection": {
|
||||||
|
"spellProcessSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"beherrschen": "midgard5.spell-process-beherrschen",
|
||||||
|
"bewegen": "midgard5.spell-process-bewegen",
|
||||||
|
"erkennen": "midgard5.spell-process-erkennen",
|
||||||
|
"erschaffen": "midgard5.spell-process-erschaffen",
|
||||||
|
"formen": "midgard5.spell-process-formen",
|
||||||
|
"veraendern": "midgard5.spell-process-veraendern",
|
||||||
|
"zerstoeren": "midgard5.spell-process-zerstoeren",
|
||||||
|
"wundertat": "midgard5.spell-process-wundertat",
|
||||||
|
"dweomer": "midgard5.spell-process-dweomer",
|
||||||
|
"zauberlied": "midgard5.spell-process-zauberlied",
|
||||||
|
"salz": "midgard5.spell-process-salz",
|
||||||
|
"thaumagraphie": "midgard5.spell-process-thaumagraphie",
|
||||||
|
"beschwoeren": "midgard5.spell-process-beschwoeren",
|
||||||
|
"nekromantie": "midgard5.spell-process-nekromantie",
|
||||||
|
"thaumatherapie": "midgard5.spell-process-thaumatherapie",
|
||||||
|
"zaubermittel": "midgard5.spell-process-zaubermittel",
|
||||||
|
"zauberschutz": "midgard5.spell-process-zauberschutz"
|
||||||
|
},
|
||||||
|
"spellTypeSelection": {
|
||||||
|
"gedanke": "midgard5.spell-type-gedanke",
|
||||||
|
"geste": "midgard5.spell-type-geste",
|
||||||
|
"wort": "midgard5.spell-type-wort"
|
||||||
|
},
|
||||||
|
"spellTargetSelection": {
|
||||||
|
"umgebung": "midgard5.spell-target-umgebung",
|
||||||
|
"geist": "midgard5.spell-target-geist",
|
||||||
|
"koerper": "midgard5.spell-target-koerper"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"skill": {
|
||||||
|
"templates": ["itemDescription", "attributeSelection"],
|
||||||
|
"fw": 0,
|
||||||
|
"attribute": "st",
|
||||||
|
"skill": "",
|
||||||
|
"type": "general",
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @i.calc.fw + @i.calc.bonus",
|
||||||
|
"label": "EW",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"pp": 0,
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"templates": ["itemDescription", "equippable", "physical"],
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"mods": {},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"templates": ["itemDescription", "stats", "equippable", "physical"],
|
||||||
|
"special": false,
|
||||||
|
"ranged": false,
|
||||||
|
"skillId": "",
|
||||||
|
"damageBase": "1d6",
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @i.calc.fw + @i.calc.bonus + @i.calc.special + @c.calc.stats.attackBonus.value + @i.stats.attackBonus",
|
||||||
|
"label": "Angriff",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"formula": "@i.damageBase + @i.stats.damageBonus + @c.calc.stats.damageBonus.value",
|
||||||
|
"label": "Schaden",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"defensiveWeapon": {
|
||||||
|
"templates": ["itemDescription", "stats", "equippable", "physical"],
|
||||||
|
"special": false,
|
||||||
|
"skillId": "",
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @i.calc.fw + @i.calc.bonus + @i.calc.special + @c.calc.stats.defense.value + @c.calc.stats.defenseBonus.value + @i.stats.defenseBonus",
|
||||||
|
"label": "Abwehr",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"armor": {
|
||||||
|
"templates": ["itemDescription", "stats", "equippable", "attributeMod", "physical"],
|
||||||
|
"lpProtection": 0,
|
||||||
|
"apProtection": 0,
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"spell": {
|
||||||
|
"templates": ["itemDescription", "spellSelection"],
|
||||||
|
"bonus": 0,
|
||||||
|
"type": "",
|
||||||
|
"process": "",
|
||||||
|
"ap": "",
|
||||||
|
"castDuration": "",
|
||||||
|
"range": "",
|
||||||
|
"effectTarget": "",
|
||||||
|
"effectArea": "",
|
||||||
|
"effectDuration": "",
|
||||||
|
"origin": "",
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @c.calc.stats.spellCasting.value + @i.bonus",
|
||||||
|
"label": "Zaubern",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
<div class="dice-roll m5-roll">
|
||||||
|
<div class="flexcol">
|
||||||
|
<h3 class="roll-title">{{res.label}}</h3>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
{{#if (eq iType "spell")}}
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.actor-ap"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.ap}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-castDuration"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.castDuration}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-range"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.range}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectTarget"}}</td>
|
||||||
|
<td class="roll-spell-details">{{localize (m5concat "midgard5.spell-target-" i.effectTarget)}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectArea"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.effectArea}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectDuration"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.effectDuration}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-origin"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.origin}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-type"}}</td>
|
||||||
|
<td class="roll-spell-details">{{localize (m5concat "midgard5.spell-type-" i.type)}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-process"}}</td>
|
||||||
|
<td class="roll-spell-details">{{localize (m5concat "midgard5.spell-process-" i.process)}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#each rolls as |roll index|}}
|
||||||
|
{{#if roll.enabled}}
|
||||||
|
<tr class="roll-row {{roll.css}}">
|
||||||
|
<td>{{roll.label}}</td>
|
||||||
|
<td class="roll-result">
|
||||||
|
<span class="roll-total">{{roll.totalStr}}</span>
|
||||||
|
<span class="roll-detail">{{roll.result}}</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<div class="attribute" data-attribute="{{attributeId}}" data-value="{{calc.value}}">
|
||||||
|
<div class="attribute-header">{{localize (m5concat "midgard5.actor-" attributeId "-long")}}</div>
|
||||||
|
|
||||||
|
<div class="attribute-main roll-attribute-button">
|
||||||
|
<div class="attribute-main-value">{{calc.value}}</div>
|
||||||
|
<div class="attribute-main-bonus">{{calc.bonus}}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="attribute-footer">
|
||||||
|
<input class="attribute-footer-value" name="data.attributes.{{attributeId}}.value" value="{{attribute.value}}" type="text" data-dtype="Number" />
|
||||||
|
<input class="attribute-footer-bonus" name="data.attributes.{{attributeId}}.bonus" value="{{attribute.bonus}}" type="text" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,169 @@
|
||||||
|
|
||||||
|
<h3>{{localize "midgard5.actor-lp"}}</h3>
|
||||||
|
<div>
|
||||||
|
<div class="health-bar">
|
||||||
|
<input name="data.lp.value" type="text" value="{{data.lp.value}}" data-dtype="Number" />
|
||||||
|
{{#times data.lp.max}}
|
||||||
|
{{#if (lt this ../data.lp.value)}}
|
||||||
|
<div class="lp-bar-item update-lp" data-value="{{this}}"></div>
|
||||||
|
{{else}}
|
||||||
|
<div class="lp-bar-item-empty update-lp" data-value="{{this}}"></div>
|
||||||
|
{{/if}}
|
||||||
|
{{/times}}
|
||||||
|
<input name="data.lp.max" type="text" value="{{data.lp.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>{{localize "midgard5.actor-ap"}}</h3>
|
||||||
|
<div>
|
||||||
|
<div class="health-bar">
|
||||||
|
<input name="data.ap.value" type="text" value="{{data.ap.value}}" data-dtype="Number" />
|
||||||
|
{{#times data.ap.max}}
|
||||||
|
{{#if (lt this ../data.ap.value)}}
|
||||||
|
<div class="ap-bar-item update-ap" data-value="{{this}}"></div>
|
||||||
|
{{else}}
|
||||||
|
<div class="ap-bar-item-empty update-ap" data-value="{{this}}"></div>
|
||||||
|
{{/if}}
|
||||||
|
{{/times}}
|
||||||
|
<input name="data.ap.max" type="text" value="{{data.ap.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Eigenschaften</h3>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="flex0">{{localize "midgard5.class"}}</span>
|
||||||
|
<input class="flex3" name="data.info.class" type="text" value="{{data.info.class}}" data-dtype="String" />
|
||||||
|
<input id="data.info.magicUsing" type="checkbox" name="data.info.magicUsing" {{checked data.info.magicUsing}}>
|
||||||
|
<label class="flex0" for="data.info.magicUsing">{{localize "midgard5.magicUsing"}}</label>
|
||||||
|
<span class="level-display">Grad {{data.calc.level}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.grace"}}</td>
|
||||||
|
<td><input name="data.gg" type="text" value="{{data.gg}}" data-dtype="Number" /></td>
|
||||||
|
<td>{{localize "midgard5.exp-overall"}}</td>
|
||||||
|
<td><input name="data.es" type="text" value="{{data.es}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.destiny"}}</td>
|
||||||
|
<td><input name="data.sg" type="text" value="{{data.sg}}" data-dtype="Number" /></td>
|
||||||
|
<td>{{localize "midgard5.exp-available"}}</td>
|
||||||
|
<td><input name="data.ep" type="text" value="{{data.ep}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.luckPoints"}}</td>
|
||||||
|
<td><input name="data.gp" type="text" value="{{data.gp}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3>Leiteigenschaften</h3>
|
||||||
|
|
||||||
|
<div class="attributes">
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="st" attribute=data.attributes.st calc=data.calc.attributes.st}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="gs" attribute=data.attributes.gs calc=data.calc.attributes.gs}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="gw" attribute=data.attributes.gw calc=data.calc.attributes.gw}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="ko" attribute=data.attributes.ko calc=data.calc.attributes.ko}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="in" attribute=data.attributes.in calc=data.calc.attributes.in}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="attributes">
|
||||||
|
<div class="filler"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="zt" attribute=data.attributes.zt calc=data.calc.attributes.zt}}
|
||||||
|
<div class="attribute-filler-fixed"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="au" attribute=data.attributes.au calc=data.calc.attributes.au}}
|
||||||
|
<div class="attribute-filler-fixed"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="pa" attribute=data.attributes.pa calc=data.calc.attributes.pa}}
|
||||||
|
<div class="attribute-filler-fixed"></div>
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="wk" attribute=data.attributes.wk calc=data.calc.attributes.wk}}
|
||||||
|
<div class="filler"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Berechnete Werte</h3>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.brawl"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.brawl.value}}</td>
|
||||||
|
<td>{{localize "midgard5.enduranceBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.enduranceBonus}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.defense"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.defense.value}}</td>
|
||||||
|
<td>{{localize "midgard5.defenseBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.defenseBonus.value}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.damageBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.damageBonus.value}}</td>
|
||||||
|
<td>{{localize "midgard5.attackBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.attackBonus.value}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spellCasting"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.spellCasting.value}}</td>
|
||||||
|
<td>{{localize "midgard5.poisonResistance"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.poisonResistance.value}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.resistanceMind"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.resistanceMind.value}}</td>
|
||||||
|
<td>{{localize "midgard5.resistanceBody"}}</td>
|
||||||
|
<td class="fixed-value">{{data.calc.stats.resistanceBody.value}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3>Beschreibung</h3>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.race"}}</td>
|
||||||
|
<td>
|
||||||
|
<input list="races" type="search" name="data.info.race" value="{{data.info.race}}" />
|
||||||
|
<datalist id="races">
|
||||||
|
<option value="Mensch">
|
||||||
|
<option value="Elf">
|
||||||
|
<option value="Gnom">
|
||||||
|
<option value="Halbling">
|
||||||
|
<option value="Zwerg">
|
||||||
|
</datalist>
|
||||||
|
</td>
|
||||||
|
<td>{{localize "midgard5.gender"}}</td>
|
||||||
|
<td><input name="data.info.gender" type="text" value="{{data.info.gender}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.weight"}}</td>
|
||||||
|
<td><input name="data.info.weight" type="text" value="{{data.info.weight}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.height"}}</td>
|
||||||
|
<td><input name="data.info.height" type="text" value="{{data.info.height}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.shape"}}</td>
|
||||||
|
<td><input name="data.info.shape" type="text" value="{{data.info.shape}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.age"}}</td>
|
||||||
|
<td><input name="data.info.age" type="text" value="{{data.info.age}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.caste"}}</td>
|
||||||
|
<td><input name="data.info.caste" type="text" value="{{data.info.caste}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.occupation"}}</td>
|
||||||
|
<td><input name="data.info.occupation" type="text" value="{{data.info.occupation}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.origin"}}</td>
|
||||||
|
<td><input name="data.info.origin" type="text" value="{{data.info.origin}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.faith"}}</td>
|
||||||
|
<td><input name="data.info.faith" type="text" value="{{data.info.faith}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
|
@ -0,0 +1,115 @@
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeWeapon"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.ew"}}</th>
|
||||||
|
<th class="fixed-value"></th>
|
||||||
|
<th class="fixed-value"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.weapons as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
|
||||||
|
<td class="center">{{data.calc.stats.brawlEw}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-brawl-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeDefensiveWeapon"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.ew"}}</th>
|
||||||
|
<th class="fixed-value"></th>
|
||||||
|
<th class="fixed-value"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.defensiveWeapons as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.defense"}}</td>
|
||||||
|
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.resistanceMind"}}</td>
|
||||||
|
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{localize "midgard5.resistanceBody"}}</td>
|
||||||
|
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeArmor"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.actor-lp-short"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.actor-ap-short"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.attackBonus-short"}}</th>
|
||||||
|
<th class="fixed-value">{{localize "midgard5.defenseBonus-short"}}</th>
|
||||||
|
<th class="fixed-value">B</th>
|
||||||
|
<th class="fixed-value">Gw</th>
|
||||||
|
<th class="fixed-value"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.armor as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "lpProtection"}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "apProtection"}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.attackBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.defenseBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.movementBonus"}}</td>
|
||||||
|
<td class="fixed-value">{{actorItemValue ../actor._id itemId "attributeMod.gw"}}</td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeItem"}}</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.gear.items as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">{{item.label}}</td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<form class="actor-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{!-- Character Sheet Navigation --}}
|
||||||
|
<nav class="sheet-navigation tabs" data-group="primary">
|
||||||
|
<a class="item active" data-tab="base_values">{{ localize "midgard5.base_values" }}</a>
|
||||||
|
<a class="item" data-tab="skills">{{ localize "midgard5.skills" }}</a>
|
||||||
|
<a class="item" data-tab="gear">{{ localize "midgard5.gear" }}</a>
|
||||||
|
<a class="item" data-tab="spells">{{ localize "midgard5.spells" }}</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section class="sheet-content">
|
||||||
|
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="base_values">
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/base_values.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="skills">
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/skills.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="gear">
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/gear.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
||||||
|
{{> "systems/midgard5e/templates/sheets/character/spells.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "midgard5.learned-skill"}}</th>
|
||||||
|
<th>{{localize "midgard5.fw"}}</th>
|
||||||
|
<th>{{localize "midgard5.bonus"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th>{{localize "midgard5.pp-short"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.skills.general as |skill skillId|}}
|
||||||
|
<tr data-item="{{skillId}}">
|
||||||
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{skill.pp}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "midgard5.language"}}</th>
|
||||||
|
<th>{{localize "midgard5.fw"}}</th>
|
||||||
|
<th>{{localize "midgard5.bonus"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th>{{localize "midgard5.pp-short"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.skills.language as |skill skillId|}}
|
||||||
|
<tr data-item="{{skillId}}">
|
||||||
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{skill.pp}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "midgard5.innate-ability"}}</th>
|
||||||
|
<th>{{localize "midgard5.fw"}}</th>
|
||||||
|
<th>{{localize "midgard5.bonus"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.skills.innate as |skill skillId|}}
|
||||||
|
<tr data-item="{{skillId}}">
|
||||||
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "midgard5.weapon-skill"}}</th>
|
||||||
|
<th>{{localize "midgard5.fw"}}</th>
|
||||||
|
<th>{{localize "midgard5.bonus"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th>{{localize "midgard5.pp-short"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.skills.combat as |skill skillId|}}
|
||||||
|
<tr data-item="{{skillId}}">
|
||||||
|
<td class="padding edit-item">{{skill.label}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.bonus}}</td>
|
||||||
|
<td class="fixed-value">{{skill.calc.ew}}</td>
|
||||||
|
<td class="fixed-value">{{skill.pp}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-learned-button"></button></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>{{localize "midgard5.unlearned-skill"}}</th>
|
||||||
|
<th>{{localize "midgard5.fw"}}</th>
|
||||||
|
<th>{{localize "midgard5.bonus"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th>{{localize "midgard5.pp-short"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.skills.general as |skill key|}}
|
||||||
|
{{#unless (isSkillInList (localizeMidgard key) ../actor.system.calc.skills.general) }}
|
||||||
|
<tr data-skill="{{key}}">
|
||||||
|
<td><button class="learn-button">{{localize "midgard5.learn"}}</button></td>
|
||||||
|
<td class="padding">{{localizeMidgard key}}</td>
|
||||||
|
<td class="fixed-value">{{skill.fw}}</td>
|
||||||
|
<td class="fixed-value">{{skillBonus ../actor._id skill}}</td>
|
||||||
|
<td class="fixed-value">{{skillEw ../actor._id skill}}</td>
|
||||||
|
<td class="fixed-value"><input name="data.skills.general.{{key}}.pp" type="text" value="{{skill.pp}}" data-dtype="Number" /></td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-general-button"></button></td>
|
||||||
|
<td class="fixed-value"></td>
|
||||||
|
</tr>
|
||||||
|
{{/unless}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeSpell"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.spells as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">
|
||||||
|
<span>{{item.label}}</span>
|
||||||
|
<span class="spell-process">{{localize item.process}}</span>
|
||||||
|
</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-weapon-button" /></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.actor-lp"}}</td>
|
||||||
|
<td><input name="data.lpProtection" type="text" value="{{data.lpProtection}}" data-dtype="Number" /></td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.actor-ap"}}</td>
|
||||||
|
<td><input name="data.apProtection" type="text" value="{{data.apProtection}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.attackBonus"}}</td>
|
||||||
|
<td><input name="data.stats.attackBonus" type="text" value="{{data.stats.attackBonus}}" data-dtype="Number" /></td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.defenseBonus"}}</td>
|
||||||
|
<td><input name="data.stats.defenseBonus" type="text" value="{{data.stats.defenseBonus}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.movementRange"}}</td>
|
||||||
|
<td><input name="data.stats.movementBonus" type="text" value="{{data.stats.movementBonus}}" data-dtype="Number" /></td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.actor-gw-long"}}</td>
|
||||||
|
<td><input name="data.attributeMod.gw" type="text" value="{{data.attributeMod.gw}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan=4>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>
|
||||||
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
||||||
|
<label for="data.special">{{localize "midgard5.special"}}</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.defenseBonus"}}</td>
|
||||||
|
<td><input name="data.stats.defenseBonus" type="text" value="{{data.stats.defenseBonus}}" data-dtype="Number" /></td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.weapon-skill"}}</td>
|
||||||
|
<td>
|
||||||
|
{{#if data.calc.combatSkills}}
|
||||||
|
<select class="select-skill" name="data.skillId" data-type="String">
|
||||||
|
{{#select data.skillId}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each data.calc.combatSkills as |skill key|}}
|
||||||
|
<option value="{{key}}">{{skill.label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
{{else}}
|
||||||
|
<span>Assign item to character to select weapon skill</span>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
<form class="item-sheet {{cssClass}} m5item-item" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>{{localize "midgard5.item-value"}}</span>
|
||||||
|
<input name="data.value" type="text" value="{{data.value}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Mods</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th><button class="add-mod">+</button></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.mods as |mod modId|}}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<select class="select-mod-type" name="data.mods.{{modId}}.type" data-type="String">
|
||||||
|
{{#select mod.type}}
|
||||||
|
<option value="attribute">{{localize "midgard5.attribute"}}</option>
|
||||||
|
<option value="stat">{{localize "midgard5.bonus"}}</option>
|
||||||
|
<option value="skill">{{localize "midgard5.skill"}}</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<select class="select-id" name="data.mods.{{modId}}.id" data-type="String">
|
||||||
|
{{#select mod.id}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each (lookup ../data.calc.mods modId) as |name key|}}
|
||||||
|
<option value="{{key}}">{{name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<select class="select-mod-operation" name="data.mods.{{modId}}.operation" data-type="String">
|
||||||
|
{{#select mod.operation}}
|
||||||
|
{{#if (eq mod.type "attribute")}}
|
||||||
|
<option value="add100">{{localize "midgard5.mod-operation-add100"}}</option>
|
||||||
|
{{/if}}
|
||||||
|
<option value="add">{{localize "midgard5.mod-operation-add"}}</option>
|
||||||
|
<option value="set">{{localize "midgard5.mod-operation-set"}}</option>
|
||||||
|
<option value="fixed">{{localize "midgard5.mod-operation-fixed"}}</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<input name="data.mods.{{modId}}.value" type="text" value="{{mod.value}}" data-dtype="Number" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.mod-type"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-mod-type" name="data.type" data-type="String">
|
||||||
|
{{#select data.type}}
|
||||||
|
<option value="attribute">{{localize "midgard5.attribute"}}</option>
|
||||||
|
<option value="stat">{{localize "midgard5.bonus"}}</option>
|
||||||
|
<option value="skill">{{localize "midgard5.skill"}}</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.mod-id"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-id" name="data.id" data-type="String">
|
||||||
|
{{#select data.id}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each data.calc.ids as |name key|}}
|
||||||
|
<option value="{{key}}">{{name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.mod-operation"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-mod-operation" name="data.operation" data-type="String">
|
||||||
|
{{#select data.operation}}
|
||||||
|
{{#if (eq data.type "attribute")}}
|
||||||
|
<option value="add100">{{localize "midgard5.mod-operation-add100"}}</option>
|
||||||
|
{{/if}}
|
||||||
|
<option value="add">{{localize "midgard5.mod-operation-add"}}</option>
|
||||||
|
<option value="set">{{localize "midgard5.mod-operation-set"}}</option>
|
||||||
|
<option value="fixed">{{localize "midgard5.mod-operation-fixed"}}</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.mod-value"}}</td>
|
||||||
|
<td><input name="data.value" type="text" value="{{data.value}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
<table class="rolls-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="col-enabled"></th>
|
||||||
|
<th class="col-label">{{localize "midgard5.label"}}</th>
|
||||||
|
<th class="col-formula">{{localize "midgard5.formula"}}</th>
|
||||||
|
<th class="col-delete"><button class="roll-create">+</button></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.rolls.formulas as |roll rollIndex|}}
|
||||||
|
{{#if roll}}
|
||||||
|
<tr data-roll="{{rollIndex}}">
|
||||||
|
<td><input type="checkbox" name="data.rolls.formulas.{{rollIndex}}.enabled" {{checked roll.enabled}} /></td>
|
||||||
|
<td><input type="text" name="data.rolls.formulas.{{rollIndex}}.label" value="{{roll.label}}" data-dtype="String" /></td>
|
||||||
|
<td><input type="text" name="data.rolls.formulas.{{rollIndex}}.formula" value="{{roll.formula}}" data-dtype="String" /></td>
|
||||||
|
<td class="fixed-value"><a class="roll-delete" title="Delete Roll"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.skill-value"}}</td>
|
||||||
|
<td><input name="data.fw" type="text" value="{{data.fw}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{{#unless (eq data.type "combat")}}
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.attribute"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-attribute" name="data.attribute" data-type="String">
|
||||||
|
{{#select data.attribute}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each data.attributes as |attribute key|}}
|
||||||
|
<option value="{{key}}">{{localize attribute.long}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.pp"}}</td>
|
||||||
|
<td><input name="data.pp" type="text" value="{{data.pp}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.bonus"}}</td>
|
||||||
|
<td><input name="data.bonus" type="text" value="{{data.bonus}}" data-dtype="Number" /></td>
|
||||||
|
<td>{{localize "midgard5.actor-ap"}}</td>
|
||||||
|
<td><input name="data.ap" type="text" value="{{data.ap}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-castDuration"}}</td>
|
||||||
|
<td><input name="data.castDuration" type="text" value="{{data.castDuration}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.spell-range"}}</td>
|
||||||
|
<td><input name="data.range" type="text" value="{{data.range}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectTarget"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-effectTarget" name="data.effectTarget" data-type="String">
|
||||||
|
{{#select data.effectTarget}}
|
||||||
|
{{#each data.spellTargetSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<td>{{localize "midgard5.spell-effectArea"}}</td>
|
||||||
|
<td><input name="data.effectArea" type="text" value="{{data.effectArea}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectDuration"}}</td>
|
||||||
|
<td><input name="data.effectDuration" type="text" value="{{data.effectDuration}}" data-dtype="String" /></td>
|
||||||
|
<td>{{localize "midgard5.spell-origin"}}</td>
|
||||||
|
<td><input name="data.origin" type="text" value="{{data.origin}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-type"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-type" name="data.type" data-type="String">
|
||||||
|
{{#select data.type}}
|
||||||
|
{{#each data.spellTypeSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<td>{{localize "midgard5.spell-process"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-process" name="data.process" data-type="String">
|
||||||
|
{{#select data.process}}
|
||||||
|
{{#each data.spellProcessSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan=4>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>
|
||||||
|
<input id="data.magic" type="checkbox" name="data.magic" {{checked data.magic}}>
|
||||||
|
<label for="data.magic">{{localize "midgard5.magic"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.ranged" type="checkbox" name="data.ranged" {{checked data.ranged}}>
|
||||||
|
<label for="data.ranged">{{localize "midgard5.rangedWeapon"}}</label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<input id="data.special" type="checkbox" name="data.special" {{checked data.special}}>
|
||||||
|
<label for="data.special">{{localize "midgard5.special"}}</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.base-damage"}}</td>
|
||||||
|
<td>
|
||||||
|
{{#if data.defensive}}
|
||||||
|
<span>Not available for defensive weapons</span>
|
||||||
|
{{else}}
|
||||||
|
<input name="data.damageBase" type="text" value="{{data.damageBase}}" data-dtype="String" />
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.weapon-skill"}}</td>
|
||||||
|
<td>
|
||||||
|
{{#if data.calc.combatSkills}}
|
||||||
|
<select class="select-skill" name="data.skillId" data-type="String">
|
||||||
|
{{#select data.skillId}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each data.calc.combatSkills as |skill key|}}
|
||||||
|
<option value="{{key}}">{{skill.label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
{{else}}
|
||||||
|
<span>{{localize "midgard5.assignItemToCharacter"}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.attackBonus"}}</td>
|
||||||
|
<td><input name="data.stats.attackBonus" type="text" value="{{data.stats.attackBonus}}" data-dtype="Number" /></td>
|
||||||
|
<td>{{localize "midgard5.damageBonus"}}</td>
|
||||||
|
<td><input name="data.stats.damageBonus" type="text" value="{{data.stats.damageBonus}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "foundry-system-midgard5",
|
"name": "foundry-system-midgard5",
|
||||||
"version": "1.2.2",
|
"version": "1.2.3",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
||||||
|
|
@ -1,472 +1,472 @@
|
||||||
{
|
{
|
||||||
"name": "Grad 01",
|
"name": "Grad 01",
|
||||||
"type": "character",
|
"type": "character",
|
||||||
"img": "icons/svg/mystery-man.svg",
|
"img": "icons/svg/mystery-man.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"lp": {
|
"lp": {
|
||||||
"value": 15,
|
"value": 15,
|
||||||
"min": 0,
|
"min": 0,
|
||||||
"max": 15
|
"max": 15
|
||||||
},
|
},
|
||||||
"ap": {
|
"ap": {
|
||||||
"value": 20,
|
"value": 20,
|
||||||
"min": 0,
|
"min": 0,
|
||||||
"max": 20
|
"max": 20
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"st": {
|
"st": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"gs": {
|
"gs": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"gw": {
|
"gw": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"ko": {
|
"ko": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"in": {
|
"in": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"zt": {
|
"zt": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"au": {
|
"au": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"pa": {
|
"pa": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
},
|
},
|
||||||
"wk": {
|
"wk": {
|
||||||
"value": 50,
|
"value": 50,
|
||||||
"bonus": 0
|
"bonus": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"info": {
|
"info": {
|
||||||
"description": "",
|
"description": "",
|
||||||
"class": "",
|
"class": "",
|
||||||
"race": "",
|
"race": "",
|
||||||
"magicUsing": false,
|
"magicUsing": false,
|
||||||
"gender": "",
|
"gender": "",
|
||||||
"weight": "",
|
"weight": "",
|
||||||
"height": "",
|
"height": "",
|
||||||
"shape": "",
|
"shape": "",
|
||||||
"age": "",
|
"age": "",
|
||||||
"caste": "",
|
"caste": "",
|
||||||
"occupation": "",
|
"occupation": "",
|
||||||
"origin": "",
|
"origin": "",
|
||||||
"faith": ""
|
"faith": ""
|
||||||
},
|
},
|
||||||
"es": 0,
|
"es": 0,
|
||||||
"ep": 0,
|
"ep": 0,
|
||||||
"gg": 0,
|
"gg": 0,
|
||||||
"sg": 0,
|
"sg": 0,
|
||||||
"gp": 2,
|
"gp": 2,
|
||||||
"skills": {
|
"skills": {
|
||||||
"general": {
|
"general": {
|
||||||
"akrobatik": {
|
"akrobatik": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"alchimie": {
|
"alchimie": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"anfuehren": {
|
"anfuehren": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "pa",
|
"attribute": "pa",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"athletik": {
|
"athletik": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "st",
|
"attribute": "st",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"balancieren": {
|
"balancieren": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"beidhaendigerKampf": {
|
"beidhaendigerKampf": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"beredsamkeit": {
|
"beredsamkeit": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "pa",
|
"attribute": "pa",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"betaeuben": {
|
"betaeuben": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"bootfahren": {
|
"bootfahren": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"ersteHilfe": {
|
"ersteHilfe": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"etikette": {
|
"etikette": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"fallenEntdecken": {
|
"fallenEntdecken": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"fallenmechanik": {
|
"fallenmechanik": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"faelschen": {
|
"faelschen": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"fechten": {
|
"fechten": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"gassenwissen": {
|
"gassenwissen": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"gaukeln": {
|
"gaukeln": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"gelaendelauf": {
|
"gelaendelauf": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"geraetekunde": {
|
"geraetekunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"geschaeftssinn": {
|
"geschaeftssinn": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"gluecksspiel": {
|
"gluecksspiel": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"heilkunde": {
|
"heilkunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"kampfInVollruestung": {
|
"kampfInVollruestung": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "st",
|
"attribute": "st",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"klettern": {
|
"klettern": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "st",
|
"attribute": "st",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"landeskunde": {
|
"landeskunde": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"laufen": {
|
"laufen": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "ko",
|
"attribute": "ko",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"lesenVonZauberschrift": {
|
"lesenVonZauberschrift": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"meditieren": {
|
"meditieren": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "wk",
|
"attribute": "wk",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"menschenkenntnis": {
|
"menschenkenntnis": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"meucheln": {
|
"meucheln": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"musizieren": {
|
"musizieren": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"naturkunde": {
|
"naturkunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"pflanzenkunde": {
|
"pflanzenkunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"reiten": {
|
"reiten": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"reiterkampf": {
|
"reiterkampf": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"scharfschiessen": {
|
"scharfschiessen": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"schleichen": {
|
"schleichen": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"schloesserOeffnen": {
|
"schloesserOeffnen": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"schwimmen": {
|
"schwimmen": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"seilkunst": {
|
"seilkunst": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"spurensuche": {
|
"spurensuche": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"stehlen": {
|
"stehlen": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"tarnen": {
|
"tarnen": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gw",
|
"attribute": "gw",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"tauchen": {
|
"tauchen": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "ko",
|
"attribute": "ko",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"tierkunde": {
|
"tierkunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"ueberleben": {
|
"ueberleben": {
|
||||||
"fw": 6,
|
"fw": 6,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"verfuehren": {
|
"verfuehren": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "pa",
|
"attribute": "pa",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"verhoeren": {
|
"verhoeren": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "pa",
|
"attribute": "pa",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"verstellen": {
|
"verstellen": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "pa",
|
"attribute": "pa",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"wagenlenken": {
|
"wagenlenken": {
|
||||||
"fw": 3,
|
"fw": 3,
|
||||||
"attribute": "gs",
|
"attribute": "gs",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
},
|
},
|
||||||
"zauberkunde": {
|
"zauberkunde": {
|
||||||
"fw": 0,
|
"fw": 0,
|
||||||
"attribute": "in",
|
"attribute": "in",
|
||||||
"initial": 8,
|
"initial": 8,
|
||||||
"pp": 0
|
"pp": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"prototypeToken": {
|
"prototypeToken": {
|
||||||
"name": "Spielfigur",
|
"name": "Spielfigur",
|
||||||
"displayName": 0,
|
"displayName": 0,
|
||||||
"actorLink": false,
|
"actorLink": false,
|
||||||
"texture": {
|
"texture": {
|
||||||
"src": "icons/svg/mystery-man.svg",
|
"src": "icons/svg/mystery-man.svg",
|
||||||
"scaleX": 1,
|
"scaleX": 1,
|
||||||
"scaleY": 1,
|
"scaleY": 1,
|
||||||
"offsetX": 0,
|
"offsetX": 0,
|
||||||
"offsetY": 0,
|
"offsetY": 0,
|
||||||
"rotation": 0,
|
"rotation": 0,
|
||||||
"tint": null
|
"tint": null
|
||||||
},
|
},
|
||||||
"width": 1,
|
"width": 1,
|
||||||
"height": 1,
|
"height": 1,
|
||||||
"lockRotation": false,
|
"lockRotation": false,
|
||||||
"rotation": 0,
|
"rotation": 0,
|
||||||
"alpha": 1,
|
"alpha": 1,
|
||||||
"disposition": -1,
|
"disposition": -1,
|
||||||
"displayBars": 0,
|
"displayBars": 0,
|
||||||
"bar1": {
|
"bar1": {
|
||||||
"attribute": "lp"
|
"attribute": "lp"
|
||||||
},
|
},
|
||||||
"bar2": {
|
"bar2": {
|
||||||
"attribute": "ap"
|
"attribute": "ap"
|
||||||
},
|
},
|
||||||
"light": {
|
"light": {
|
||||||
"alpha": 0.5,
|
"alpha": 0.5,
|
||||||
"angle": 360,
|
"angle": 360,
|
||||||
"bright": 0,
|
"bright": 0,
|
||||||
"color": null,
|
"color": null,
|
||||||
"coloration": 1,
|
"coloration": 1,
|
||||||
"dim": 0,
|
"dim": 0,
|
||||||
"attenuation": 0.5,
|
"attenuation": 0.5,
|
||||||
"luminosity": 0.5,
|
"luminosity": 0.5,
|
||||||
"saturation": 0,
|
"saturation": 0,
|
||||||
"contrast": 0,
|
"contrast": 0,
|
||||||
"shadows": 0,
|
"shadows": 0,
|
||||||
"animation": {
|
"animation": {
|
||||||
"type": null,
|
"type": null,
|
||||||
"speed": 5,
|
"speed": 5,
|
||||||
"intensity": 5,
|
"intensity": 5,
|
||||||
"reverse": false
|
"reverse": false
|
||||||
},
|
},
|
||||||
"darkness": {
|
"darkness": {
|
||||||
"min": 0,
|
"min": 0,
|
||||||
"max": 1
|
"max": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sight": {
|
"sight": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"range": null,
|
"range": null,
|
||||||
"angle": 360,
|
"angle": 360,
|
||||||
"visionMode": "basic",
|
"visionMode": "basic",
|
||||||
"color": null,
|
"color": null,
|
||||||
"attenuation": 0.1,
|
"attenuation": 0.1,
|
||||||
"brightness": 0,
|
"brightness": 0,
|
||||||
"saturation": 0,
|
"saturation": 0,
|
||||||
"contrast": 0
|
"contrast": 0
|
||||||
},
|
},
|
||||||
"detectionModes": [],
|
"detectionModes": [],
|
||||||
"flags": {},
|
"flags": {},
|
||||||
"randomImg": false
|
"randomImg": false
|
||||||
},
|
},
|
||||||
"items": [],
|
"items": [],
|
||||||
"effects": [],
|
"effects": [],
|
||||||
"flags": {
|
"flags": {
|
||||||
"core": {
|
"core": {
|
||||||
"sourceId": "Actor.25UihsoT43jms4Rx"
|
"sourceId": "Actor.25UihsoT43jms4Rx"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"_stats": {
|
"_stats": {
|
||||||
"systemId": "midgard5",
|
"systemId": "midgard5e",
|
||||||
"systemVersion": "1.1.0",
|
"systemVersion": "1.1.0",
|
||||||
"coreVersion": "10.291",
|
"coreVersion": "10.291",
|
||||||
"createdTime": 1681861642287,
|
"createdTime": 1681861642287,
|
||||||
"modifiedTime": 1681862257893,
|
"modifiedTime": 1681862257893,
|
||||||
"lastModifiedBy": "Fphp3NQlJ6KWctyq"
|
"lastModifiedBy": "Fphp3NQlJ6KWctyq"
|
||||||
},
|
},
|
||||||
"folder": null,
|
"folder": null,
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"Fphp3NQlJ6KWctyq": 3
|
"Fphp3NQlJ6KWctyq": 3
|
||||||
},
|
},
|
||||||
"_id": "k21WA0JziDJ7yJ1U"
|
"_id": "k21WA0JziDJ7yJ1U"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,39 @@
|
||||||
{
|
{
|
||||||
"name": "Gegenstand",
|
"name": "Gegenstand",
|
||||||
"type": "item",
|
"type": "item",
|
||||||
"img": "icons/svg/item-bag.svg",
|
"img": "icons/svg/item-bag.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"description": "",
|
"description": "",
|
||||||
"equippable": false,
|
"equippable": false,
|
||||||
"equipped": true,
|
"equipped": true,
|
||||||
"value": 0,
|
"value": 0,
|
||||||
"magic": false,
|
"magic": false,
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {},
|
"formulas": {},
|
||||||
"output": ""
|
"output": ""
|
||||||
},
|
},
|
||||||
"mods": {},
|
"mods": {},
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"effects": [],
|
"effects": [],
|
||||||
"flags": {
|
"flags": {
|
||||||
"core": {
|
"core": {
|
||||||
"sourceId": "Item.8GrWgO1jjysZPnxc"
|
"sourceId": "Item.8GrWgO1jjysZPnxc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"_stats": {
|
"_stats": {
|
||||||
"systemId": "midgard5",
|
"systemId": "midgard5e",
|
||||||
"systemVersion": "1.1.0",
|
"systemVersion": "1.1.0",
|
||||||
"coreVersion": "10.291",
|
"coreVersion": "10.291",
|
||||||
"createdTime": 1681862229001,
|
"createdTime": 1681862229001,
|
||||||
"modifiedTime": 1681862253981,
|
"modifiedTime": 1681862253981,
|
||||||
"lastModifiedBy": "Fphp3NQlJ6KWctyq"
|
"lastModifiedBy": "Fphp3NQlJ6KWctyq"
|
||||||
},
|
},
|
||||||
"folder": null,
|
"folder": null,
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"Fphp3NQlJ6KWctyq": 3
|
"Fphp3NQlJ6KWctyq": 3
|
||||||
},
|
},
|
||||||
"_id": "ERcxMh7hWiv42rfx"
|
"_id": "ERcxMh7hWiv42rfx"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "await game.tables.getName(\"Kritischer Fehler beim Zaubern\").draw()",
|
"command": "await game.tables.getName(\"Kritischer Fehler beim Zaubern\").draw()",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/macro/kritfehlerzauber.svg",
|
"img": "systems/midgard5e/assets/icons/macro/kritfehlerzauber.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "XtzGuyYRyX8wVi1e"
|
"_id": "XtzGuyYRyX8wVi1e"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "await game.tables.getName(\"Kritischer Erfolg bei der Abwehr\").draw()",
|
"command": "await game.tables.getName(\"Kritischer Erfolg bei der Abwehr\").draw()",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/macro/kriterfolgabwehr.svg",
|
"img": "systems/midgard5e/assets/icons/macro/kriterfolgabwehr.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "qWyrwvh7g9CbTKg9"
|
"_id": "qWyrwvh7g9CbTKg9"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "await game.tables.getName(\"Kritischer Fehler bei Angriffen\").draw()",
|
"command": "await game.tables.getName(\"Kritischer Fehler bei Angriffen\").draw()",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/macro/kritfehlerangriff.svg",
|
"img": "systems/midgard5e/assets/icons/macro/kritfehlerangriff.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "798kmgnTkpfP89Z9"
|
"_id": "798kmgnTkpfP89Z9"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "await game.tables.getName(\"Kritischer Fehler bei der Abwehr\").draw()",
|
"command": "await game.tables.getName(\"Kritischer Fehler bei der Abwehr\").draw()",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/macro/kritfehlerabwehr.svg",
|
"img": "systems/midgard5e/assets/icons/macro/kritfehlerabwehr.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "W7rYb00B6rtabV05"
|
"_id": "W7rYb00B6rtabV05"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "await game.tables.getName(\"Kritischer Schaden\").draw()",
|
"command": "await game.tables.getName(\"Kritischer Schaden\").draw()",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/macro/kriterfolgangriff.svg",
|
"img": "systems/midgard5e/assets/icons/macro/kriterfolgangriff.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "48DUqxdpHDCGKOHp"
|
"_id": "48DUqxdpHDCGKOHp"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "/r 1d10",
|
"command": "/r 1d10",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/wurfel/w10.svg",
|
"img": "systems/midgard5e/assets/icons/wurfel/w10.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "YWsPRUpZpgLBKIB3"
|
"_id": "YWsPRUpZpgLBKIB3"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "/r 1d100",
|
"command": "/r 1d100",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/wurfel/w100.svg",
|
"img": "systems/midgard5e/assets/icons/wurfel/w100.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "pXZIfqDIX9VKYonr"
|
"_id": "pXZIfqDIX9VKYonr"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "/r 1d20",
|
"command": "/r 1d20",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/wurfel/w20.svg",
|
"img": "systems/midgard5e/assets/icons/wurfel/w20.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "qBoxslCQXxR22xKc"
|
"_id": "qBoxslCQXxR22xKc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"scope": "global",
|
"scope": "global",
|
||||||
"command": "/r 1d6",
|
"command": "/r 1d6",
|
||||||
"author": "CBq5YXAqbO7HoJ03",
|
"author": "CBq5YXAqbO7HoJ03",
|
||||||
"img": "systems/midgard5/assets/icons/wurfel/w6.svg",
|
"img": "systems/midgard5e/assets/icons/wurfel/w6.svg",
|
||||||
"actorIds": [],
|
"actorIds": [],
|
||||||
"_id": "5tpfRgbM5sTL9gur"
|
"_id": "5tpfRgbM5sTL9gur"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"flags": {
|
"flags": {
|
||||||
"exportSource": {
|
"exportSource": {
|
||||||
"world": "midgard-test",
|
"world": "midgard-test",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"coreVersion": "0.7.9",
|
"coreVersion": "0.7.9",
|
||||||
"systemVersion": 0.02
|
"systemVersion": 0.02
|
||||||
}
|
}
|
||||||
|
|
@ -23,10 +23,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [1, 10],
|
||||||
1,
|
|
||||||
10
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -37,10 +34,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 20,
|
"weight": 20,
|
||||||
"range": [
|
"range": [11, 30],
|
||||||
11,
|
|
||||||
30
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -51,10 +45,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 20,
|
"weight": 20,
|
||||||
"range": [
|
"range": [31, 50],
|
||||||
31,
|
|
||||||
50
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -65,10 +56,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [51, 60],
|
||||||
51,
|
|
||||||
60
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -79,10 +67,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [61, 70],
|
||||||
61,
|
|
||||||
70
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -93,10 +78,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [71, 80],
|
||||||
71,
|
|
||||||
80
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +89,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [81, 90],
|
||||||
81,
|
|
||||||
90
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -121,10 +100,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [91, 95],
|
||||||
91,
|
|
||||||
95
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -135,10 +111,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 4,
|
"weight": 4,
|
||||||
"range": [
|
"range": [96, 99],
|
||||||
96,
|
|
||||||
99
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -149,10 +122,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 1,
|
"weight": 1,
|
||||||
"range": [
|
"range": [100, 100],
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -160,4 +130,4 @@
|
||||||
"replacement": true,
|
"replacement": true,
|
||||||
"displayRoll": true,
|
"displayRoll": true,
|
||||||
"_id": "PRovcPRqdrvFRpFN"
|
"_id": "PRovcPRqdrvFRpFN"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"flags": {
|
"flags": {
|
||||||
"exportSource": {
|
"exportSource": {
|
||||||
"world": "midgard-test",
|
"world": "midgard-test",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"coreVersion": "0.7.9",
|
"coreVersion": "0.7.9",
|
||||||
"systemVersion": 0.02
|
"systemVersion": 0.02
|
||||||
}
|
}
|
||||||
|
|
@ -23,10 +23,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [1, 10],
|
||||||
1,
|
|
||||||
10
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -37,10 +34,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [11, 20],
|
||||||
11,
|
|
||||||
20
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -51,10 +45,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 15,
|
"weight": 15,
|
||||||
"range": [
|
"range": [21, 35],
|
||||||
21,
|
|
||||||
35
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -65,10 +56,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 15,
|
"weight": 15,
|
||||||
"range": [
|
"range": [36, 50],
|
||||||
36,
|
|
||||||
50
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -79,10 +67,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [51, 55],
|
||||||
51,
|
|
||||||
55
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -93,10 +78,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [56, 60],
|
||||||
56,
|
|
||||||
60
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +89,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [61, 70],
|
||||||
61,
|
|
||||||
70
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -121,10 +100,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 20,
|
"weight": 20,
|
||||||
"range": [
|
"range": [71, 90],
|
||||||
71,
|
|
||||||
90
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -135,10 +111,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 9,
|
"weight": 9,
|
||||||
"range": [
|
"range": [91, 99],
|
||||||
91,
|
|
||||||
99
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -149,10 +122,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 1,
|
"weight": 1,
|
||||||
"range": [
|
"range": [100, 100],
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -160,4 +130,4 @@
|
||||||
"replacement": true,
|
"replacement": true,
|
||||||
"displayRoll": true,
|
"displayRoll": true,
|
||||||
"_id": "sVgHbAxseIoeIMz8"
|
"_id": "sVgHbAxseIoeIMz8"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"flags": {
|
"flags": {
|
||||||
"exportSource": {
|
"exportSource": {
|
||||||
"world": "midgard-test",
|
"world": "midgard-test",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"coreVersion": "0.7.9",
|
"coreVersion": "0.7.9",
|
||||||
"systemVersion": 0.02
|
"systemVersion": 0.02
|
||||||
}
|
}
|
||||||
|
|
@ -23,10 +23,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [1, 10],
|
||||||
1,
|
|
||||||
10
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -37,10 +34,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [11, 20],
|
||||||
11,
|
|
||||||
20
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -51,10 +45,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [21, 30],
|
||||||
21,
|
|
||||||
30
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -65,10 +56,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [31, 40],
|
||||||
31,
|
|
||||||
40
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -79,10 +67,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [41, 50],
|
||||||
41,
|
|
||||||
50
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -93,10 +78,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [51, 60],
|
||||||
51,
|
|
||||||
60
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +89,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [61, 70],
|
||||||
61,
|
|
||||||
70
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -121,10 +100,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [71, 80],
|
||||||
71,
|
|
||||||
80
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -135,10 +111,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [81, 90],
|
||||||
81,
|
|
||||||
90
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -149,10 +122,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 9,
|
"weight": 9,
|
||||||
"range": [
|
"range": [91, 99],
|
||||||
91,
|
|
||||||
99
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -163,10 +133,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 1,
|
"weight": 1,
|
||||||
"range": [
|
"range": [100, 100],
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -174,4 +141,4 @@
|
||||||
"replacement": true,
|
"replacement": true,
|
||||||
"displayRoll": true,
|
"displayRoll": true,
|
||||||
"_id": "XKbuKI8F08WdFfWV"
|
"_id": "XKbuKI8F08WdFfWV"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"flags": {
|
"flags": {
|
||||||
"exportSource": {
|
"exportSource": {
|
||||||
"world": "midgard-test",
|
"world": "midgard-test",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"coreVersion": "0.7.9",
|
"coreVersion": "0.7.9",
|
||||||
"systemVersion": 0.02
|
"systemVersion": 0.02
|
||||||
}
|
}
|
||||||
|
|
@ -23,10 +23,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [1, 10],
|
||||||
1,
|
|
||||||
10
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -37,10 +34,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [11, 20],
|
||||||
11,
|
|
||||||
20
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -51,10 +45,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 10,
|
"weight": 10,
|
||||||
"range": [
|
"range": [21, 30],
|
||||||
21,
|
|
||||||
30
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -65,10 +56,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [31, 35],
|
||||||
31,
|
|
||||||
35
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -79,10 +67,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [36, 40],
|
||||||
36,
|
|
||||||
40
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -93,10 +78,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 7,
|
"weight": 7,
|
||||||
"range": [
|
"range": [41, 47],
|
||||||
41,
|
|
||||||
47
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +89,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 8,
|
"weight": 8,
|
||||||
"range": [
|
"range": [48, 55],
|
||||||
48,
|
|
||||||
55
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -121,10 +100,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 9,
|
"weight": 9,
|
||||||
"range": [
|
"range": [56, 64],
|
||||||
56,
|
|
||||||
64
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -135,10 +111,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 9,
|
"weight": 9,
|
||||||
"range": [
|
"range": [65, 73],
|
||||||
65,
|
|
||||||
73
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -149,10 +122,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 7,
|
"weight": 7,
|
||||||
"range": [
|
"range": [74, 80],
|
||||||
74,
|
|
||||||
80
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -163,10 +133,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 5,
|
"weight": 5,
|
||||||
"range": [
|
"range": [81, 85],
|
||||||
81,
|
|
||||||
85
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -177,10 +144,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 4,
|
"weight": 4,
|
||||||
"range": [
|
"range": [86, 89],
|
||||||
86,
|
|
||||||
89
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -191,10 +155,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 4,
|
"weight": 4,
|
||||||
"range": [
|
"range": [90, 93],
|
||||||
90,
|
|
||||||
93
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -205,10 +166,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 3,
|
"weight": 3,
|
||||||
"range": [
|
"range": [94, 96],
|
||||||
94,
|
|
||||||
96
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -219,10 +177,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 1,
|
"weight": 1,
|
||||||
"range": [
|
"range": [97, 97],
|
||||||
97,
|
|
||||||
97
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -233,10 +188,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 2,
|
"weight": 2,
|
||||||
"range": [
|
"range": [98, 99],
|
||||||
98,
|
|
||||||
99
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -247,10 +199,7 @@
|
||||||
"img": "icons/svg/d20-black.svg",
|
"img": "icons/svg/d20-black.svg",
|
||||||
"resultId": "",
|
"resultId": "",
|
||||||
"weight": 1,
|
"weight": 1,
|
||||||
"range": [
|
"range": [100, 100],
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"drawn": false
|
"drawn": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -258,4 +207,4 @@
|
||||||
"replacement": true,
|
"replacement": true,
|
||||||
"displayRoll": true,
|
"displayRoll": true,
|
||||||
"_id": "cQX6GAYWErokE8ks"
|
"_id": "cQX6GAYWErokE8ks"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import assert from "assert"
|
import assert from "assert";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "midgard5",
|
name: "midgard5e",
|
||||||
isModule: false, // If you are developing a system rather than a module, change this to false
|
isModule: false, // If you are developing a system rather than a module, change this to false
|
||||||
}
|
};
|
||||||
|
|
||||||
// Pop some fairly universal types that we might use
|
// Pop some fairly universal types that we might use
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ Hooks.once("init", async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
Handlebars.registerHelper("icon", (relpath: string) => {
|
Handlebars.registerHelper("icon", (relpath: string) => {
|
||||||
return `systems/midgard5/assets/icons/${relpath}`;
|
return `systems/midgard5e/assets/icons/${relpath}`;
|
||||||
});
|
});
|
||||||
|
|
||||||
Handlebars.registerHelper("isSkillInList", (skillName: string, list: any) => {
|
Handlebars.registerHelper("isSkillInList", (skillName: string, list: any) => {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { M5EwResult, M5RollData, M5RollResult, M5SkillUnlearned } from "../M5Bas
|
||||||
|
|
||||||
export class M5Roll {
|
export class M5Roll {
|
||||||
// extends Roll<M5RollData>
|
// extends Roll<M5RollData>
|
||||||
static readonly TEMPLATE_PATH = "systems/midgard5/templates/chat/roll-m5.hbs";
|
static readonly TEMPLATE_PATH = "systems/midgard5e/templates/chat/roll-m5.hbs";
|
||||||
|
|
||||||
public _evaluated: boolean = false;
|
public _evaluated: boolean = false;
|
||||||
public _total: number = 0;
|
public _total: number = 0;
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { M5Roll } from "../rolls/M5Roll";
|
||||||
export default class M5CharacterSheet extends ActorSheet {
|
export default class M5CharacterSheet extends ActorSheet {
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
template: "systems/midgard5/templates/sheets/character/main.hbs",
|
template: "systems/midgard5e/templates/sheets/character/main.hbs",
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 800,
|
height: 800,
|
||||||
classes: ["midgard5", "sheet", "character"],
|
classes: ["midgard5", "sheet", "character"],
|
||||||
|
|
|
||||||
|
|
@ -1,128 +1,128 @@
|
||||||
import { M5Item } from "../items/M5Item"
|
import { M5Item } from "../items/M5Item";
|
||||||
import { M5Attributes, M5ItemMod, M5ModOperation, M5ModType, M5RollTemplate } from "../M5Base"
|
import { M5Attributes, M5ItemMod, M5ModOperation, M5ModType, M5RollTemplate } from "../M5Base";
|
||||||
|
|
||||||
export class M5ItemSheet extends ItemSheet {
|
export class M5ItemSheet extends ItemSheet {
|
||||||
|
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
width: 640,
|
width: 640,
|
||||||
height: 480,
|
height: 480,
|
||||||
classes: ["midgard5", "sheet", "item"]
|
classes: ["midgard5", "sheet", "item"],
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
get template() {
|
get template() {
|
||||||
//console.log("M5ItemSheet", this.item.data.type)
|
//console.log("M5ItemSheet", this.item.data.type)
|
||||||
const path = "systems/midgard5/templates/sheets/item"
|
const path = "systems/midgard5e/templates/sheets/item";
|
||||||
return `${path}/${this.item.type}.hbs`
|
return `${path}/${this.item.type}.hbs`;
|
||||||
}
|
}
|
||||||
|
|
||||||
override getData(options?: Partial<ItemSheet.Options>): ItemSheet.Data<ItemSheet.Options> | Promise<ItemSheet.Data<ItemSheet.Options>> {
|
override getData(options?: Partial<ItemSheet.Options>): ItemSheet.Data<ItemSheet.Options> | Promise<ItemSheet.Data<ItemSheet.Options>> {
|
||||||
const item = this.item as M5Item
|
const item = this.item as M5Item;
|
||||||
return Promise.resolve(super.getData()).then(value => {
|
return Promise.resolve(super.getData()).then((value) => {
|
||||||
item.prepareDerivedData()
|
item.prepareDerivedData();
|
||||||
const context = value as any
|
const context = value as any;
|
||||||
|
|
||||||
// Use a safe clone of the item data for further operations.
|
// Use a safe clone of the item data for further operations.
|
||||||
const itemData = context.item
|
const itemData = context.item;
|
||||||
|
|
||||||
// Retrieve the roll data for TinyMCE editors.
|
// Retrieve the roll data for TinyMCE editors.
|
||||||
context.rollData = {}
|
context.rollData = {};
|
||||||
let actor = this.object?.parent ?? null
|
let actor = this.object?.parent ?? null;
|
||||||
if (actor) {
|
if (actor) {
|
||||||
context.rollData = actor.getRollData()
|
context.rollData = actor.getRollData();
|
||||||
}
|
}
|
||||||
|
|
||||||
context.data = itemData.system
|
context.data = itemData.system;
|
||||||
context.flags = itemData.flags
|
context.flags = itemData.flags;
|
||||||
|
|
||||||
return context
|
return context;
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
override activateListeners(html: JQuery) {
|
override activateListeners(html: JQuery) {
|
||||||
super.activateListeners(html)
|
super.activateListeners(html);
|
||||||
|
|
||||||
html.find(".add-mod").on("click", async (event) => {
|
html.find(".add-mod").on("click", async (event) => {
|
||||||
const context = this.object
|
const context = this.object;
|
||||||
const mods = context.system.mods
|
const mods = context.system.mods;
|
||||||
const modIndex = Object.keys(mods).length
|
const modIndex = Object.keys(mods).length;
|
||||||
mods[modIndex.toString()] = {
|
mods[modIndex.toString()] = {
|
||||||
type: M5ModType.ATTRIBUTE,
|
type: M5ModType.ATTRIBUTE,
|
||||||
id: M5Attributes.ST,
|
id: M5Attributes.ST,
|
||||||
operation: M5ModOperation.ADD,
|
operation: M5ModOperation.ADD,
|
||||||
value: 0
|
value: 0,
|
||||||
} as M5ItemMod
|
} as M5ItemMod;
|
||||||
this.object.update({
|
this.object.update({
|
||||||
data: {
|
data: {
|
||||||
mods: mods
|
mods: mods,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
html.find(".item-delete").on("click", async (event) => {
|
html.find(".item-delete").on("click", async (event) => {
|
||||||
let row = event.target.parentElement
|
let row = event.target.parentElement;
|
||||||
let itemId = row.dataset["item"]
|
let itemId = row.dataset["item"];
|
||||||
while (!itemId) {
|
while (!itemId) {
|
||||||
row = row.parentElement
|
row = row.parentElement;
|
||||||
if (!row)
|
if (!row) return;
|
||||||
return
|
itemId = row.dataset["item"];
|
||||||
itemId = row.dataset["item"]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const context = this.item
|
const context = this.item;
|
||||||
const item = context.items.get(itemId)
|
const item = context.items.get(itemId);
|
||||||
item.delete()
|
item.delete();
|
||||||
this.render(false)
|
this.render(false);
|
||||||
})
|
});
|
||||||
|
|
||||||
html.find(".roll-delete").on("click", async (event) => {
|
html.find(".roll-delete").on("click", async (event) => {
|
||||||
//console.log("roll-delete", this.item.data.data.rolls.formulas)
|
//console.log("roll-delete", this.item.data.data.rolls.formulas)
|
||||||
|
|
||||||
let row = event.target.parentElement
|
let row = event.target.parentElement;
|
||||||
let rollIndex = row.dataset["roll"]
|
let rollIndex = row.dataset["roll"];
|
||||||
while (!rollIndex) {
|
while (!rollIndex) {
|
||||||
row = row.parentElement
|
row = row.parentElement;
|
||||||
if (!row)
|
if (!row) return;
|
||||||
return
|
rollIndex = row.dataset["roll"];
|
||||||
rollIndex = row.dataset["roll"]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const rolls = this.item.system.rolls.formulas
|
const rolls = this.item.system.rolls.formulas;
|
||||||
rolls[rollIndex] = null
|
rolls[rollIndex] = null;
|
||||||
|
|
||||||
this.item.update({
|
this.item.update({
|
||||||
data: {
|
data: {
|
||||||
rolls: {
|
rolls: {
|
||||||
formulas: rolls
|
formulas: rolls,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
this.render(false)
|
this.render(false);
|
||||||
})
|
});
|
||||||
|
|
||||||
html.find(".roll-create").on("click", async (event) => {
|
html.find(".roll-create").on("click", async (event) => {
|
||||||
const rolls = this.item.system.rolls.formulas
|
const rolls = this.item.system.rolls.formulas;
|
||||||
|
|
||||||
const indeces = Object.keys(rolls).map(index => parseInt(index)).sort().reverse()
|
const indeces = Object.keys(rolls)
|
||||||
const index = (indeces.find(index => !!rolls[index.toString()]) ?? -1) + 1
|
.map((index) => parseInt(index))
|
||||||
console.log("roll-create", rolls, indeces, index)
|
.sort()
|
||||||
|
.reverse();
|
||||||
|
const index = (indeces.find((index) => !!rolls[index.toString()]) ?? -1) + 1;
|
||||||
|
console.log("roll-create", rolls, indeces, index);
|
||||||
|
|
||||||
rolls[index.toString()] = {
|
rolls[index.toString()] = {
|
||||||
formula: "1d6",
|
formula: "1d6",
|
||||||
label: (game as Game).i18n.localize("midgard5.roll"),
|
label: (game as Game).i18n.localize("midgard5.roll"),
|
||||||
enabled: true
|
enabled: true,
|
||||||
} as M5RollTemplate
|
} as M5RollTemplate;
|
||||||
|
|
||||||
this.item.update({
|
this.item.update({
|
||||||
data: {
|
data: {
|
||||||
rolls: {
|
rolls: {
|
||||||
formulas: rolls
|
formulas: rolls,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
this.render(false)
|
this.render(false);
|
||||||
})
|
});
|
||||||
|
|
||||||
// Drag & Drop
|
// Drag & Drop
|
||||||
if (["item"].includes(this.object.type)) {
|
if (["item"].includes(this.object.type)) {
|
||||||
|
|
@ -131,65 +131,62 @@ export class M5ItemSheet extends ItemSheet {
|
||||||
dropSelector: null,
|
dropSelector: null,
|
||||||
permissions: { dragstart: this._canDragStart.bind(this), drop: this._canDragDrop.bind(this) },
|
permissions: { dragstart: this._canDragStart.bind(this), drop: this._canDragDrop.bind(this) },
|
||||||
callbacks: { drop: this._onDropItem.bind(this) },
|
callbacks: { drop: this._onDropItem.bind(this) },
|
||||||
})
|
});
|
||||||
itemToItemAssociation.bind(html[0])
|
itemToItemAssociation.bind(html[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_canDragStart(selector) {
|
_canDragStart(selector) {
|
||||||
console.log("M5ItemSheet._canDragStart", selector)
|
console.log("M5ItemSheet._canDragStart", selector);
|
||||||
return this.options.editable && this.object.isOwner
|
return this.options.editable && this.object.isOwner;
|
||||||
}
|
}
|
||||||
|
|
||||||
_canDragDrop(selector) {
|
_canDragDrop(selector) {
|
||||||
console.log("M5ItemSheet._canDragDrop", selector)
|
console.log("M5ItemSheet._canDragDrop", selector);
|
||||||
return true
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onDropItem(event) {
|
async _onDropItem(event) {
|
||||||
let data
|
let data;
|
||||||
const obj = this.object
|
const obj = this.object;
|
||||||
const li = event.currentTarget
|
const li = event.currentTarget;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
data = JSON.parse(event.dataTransfer.getData("text/plain"))
|
data = JSON.parse(event.dataTransfer.getData("text/plain"));
|
||||||
if (data.type !== "Item")
|
if (data.type !== "Item") return false;
|
||||||
return false
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Case 1 - Import from a Compendium pack
|
// Case 1 - Import from a Compendium pack
|
||||||
let itemObject
|
let itemObject;
|
||||||
if (data.pack) {
|
if (data.pack) {
|
||||||
const compendiumObject = await (this as any).importItemFromCollection(data.pack, data.id)
|
const compendiumObject = await (this as any).importItemFromCollection(data.pack, data.id);
|
||||||
itemObject = compendiumObject.data
|
itemObject = compendiumObject.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Case 2 - Import from World entity
|
// Case 2 - Import from World entity
|
||||||
else {
|
else {
|
||||||
const originalItem = await (game as Game).items.get(data.id)
|
const originalItem = await (game as Game).items.get(data.id);
|
||||||
itemObject = duplicate(originalItem)
|
itemObject = duplicate(originalItem);
|
||||||
if (!itemObject)
|
if (!itemObject) return;
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((itemObject.type === "mod")) {
|
if (itemObject.type === "mod") {
|
||||||
let mods = obj?.system?.mods
|
let mods = obj?.system?.mods;
|
||||||
if (!mods)
|
if (!mods) mods = [];
|
||||||
mods = []
|
|
||||||
|
|
||||||
itemObject.id = randomID()
|
itemObject.id = randomID();
|
||||||
console.log("M5ItemSheet._onDropItem", itemObject)
|
console.log("M5ItemSheet._onDropItem", itemObject);
|
||||||
mods.push(itemObject)
|
mods.push(itemObject);
|
||||||
|
|
||||||
obj.update({
|
obj.update({
|
||||||
data: {
|
data: {
|
||||||
mods: mods
|
mods: mods,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onDragItemStart(event) { }
|
async _onDragItemStart(event) {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "midgard5e",
|
"id": "midgard5e",
|
||||||
"title": "Midgard 5. Edition",
|
"title": "Midgard 5. Edition",
|
||||||
"description": "The German RPG Midgard 5. Edition",
|
"description": "The German RPG Midgard 5. Edition",
|
||||||
"version": "1.2.2",
|
"version": "1.2.3",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
"verified": "10"
|
"verified": "10"
|
||||||
|
|
@ -14,42 +14,42 @@
|
||||||
{
|
{
|
||||||
"name": "blaupause-spielfiguren",
|
"name": "blaupause-spielfiguren",
|
||||||
"label": "Blaupausen für Spielfiguren",
|
"label": "Blaupausen für Spielfiguren",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/actors/blaupause-spielfiguren.db",
|
"path": "./packs/actors/blaupause-spielfiguren.db",
|
||||||
"type": "Actor"
|
"type": "Actor"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "blaupause-gegenstaende",
|
"name": "blaupause-gegenstaende",
|
||||||
"label": "Blaupausen für Gegenstände",
|
"label": "Blaupausen für Gegenstände",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/items/blaupause-gegenstaende.db",
|
"path": "./packs/items/blaupause-gegenstaende.db",
|
||||||
"type": "Item"
|
"type": "Item"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "tabellen-kritische-ereignisse",
|
"name": "tabellen-kritische-ereignisse",
|
||||||
"label": "Tabellen Kritische Ereignisse",
|
"label": "Tabellen Kritische Ereignisse",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/rolltables/tabellen-kritische-ereignisse.db",
|
"path": "./packs/rolltables/tabellen-kritische-ereignisse.db",
|
||||||
"type": "RollTable"
|
"type": "RollTable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "makros-kritische-ereignisse",
|
"name": "makros-kritische-ereignisse",
|
||||||
"label": "Makros Kritische Ereignisse",
|
"label": "Makros Kritische Ereignisse",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/macros/makros-kritische-ereignisse.db",
|
"path": "./packs/macros/makros-kritische-ereignisse.db",
|
||||||
"type": "Macro"
|
"type": "Macro"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "makros-standardwurfel",
|
"name": "makros-standardwurfel",
|
||||||
"label": "Standardwürfel",
|
"label": "Standardwürfel",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/macros/makros-standardwurfel.db",
|
"path": "./packs/macros/makros-standardwurfel.db",
|
||||||
"type": "Macro"
|
"type": "Macro"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "scenes-midgard-karten",
|
"name": "scenes-midgard-karten",
|
||||||
"label": "Midgard-Karten",
|
"label": "Midgard-Karten",
|
||||||
"system": "midgard5",
|
"system": "midgard5e",
|
||||||
"path": "./packs/scenes/scenes-midgard-karten.db",
|
"path": "./packs/scenes/scenes-midgard-karten.db",
|
||||||
"type": "Scene"
|
"type": "Scene"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,26 +62,26 @@
|
||||||
<h3>Leiteigenschaften</h3>
|
<h3>Leiteigenschaften</h3>
|
||||||
|
|
||||||
<div class="attributes">
|
<div class="attributes">
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="st" attribute=data.attributes.st calc=data.calc.attributes.st}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="st" attribute=data.attributes.st calc=data.calc.attributes.st}}
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gs" attribute=data.attributes.gs calc=data.calc.attributes.gs}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="gs" attribute=data.attributes.gs calc=data.calc.attributes.gs}}
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="gw" attribute=data.attributes.gw calc=data.calc.attributes.gw}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="gw" attribute=data.attributes.gw calc=data.calc.attributes.gw}}
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="ko" attribute=data.attributes.ko calc=data.calc.attributes.ko}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="ko" attribute=data.attributes.ko calc=data.calc.attributes.ko}}
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="in" attribute=data.attributes.in calc=data.calc.attributes.in}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="in" attribute=data.attributes.in calc=data.calc.attributes.in}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="attributes">
|
<div class="attributes">
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="zt" attribute=data.attributes.zt calc=data.calc.attributes.zt}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="zt" attribute=data.attributes.zt calc=data.calc.attributes.zt}}
|
||||||
<div class="attribute-filler-fixed"></div>
|
<div class="attribute-filler-fixed"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="au" attribute=data.attributes.au calc=data.calc.attributes.au}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="au" attribute=data.attributes.au calc=data.calc.attributes.au}}
|
||||||
<div class="attribute-filler-fixed"></div>
|
<div class="attribute-filler-fixed"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="pa" attribute=data.attributes.pa calc=data.calc.attributes.pa}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="pa" attribute=data.attributes.pa calc=data.calc.attributes.pa}}
|
||||||
<div class="attribute-filler-fixed"></div>
|
<div class="attribute-filler-fixed"></div>
|
||||||
{{> "systems/midgard5/templates/sheets/character/attribute.hbs" attributeId="wk" attribute=data.attributes.wk calc=data.calc.attributes.wk}}
|
{{> "systems/midgard5e/templates/sheets/character/attribute.hbs" attributeId="wk" attribute=data.attributes.wk calc=data.calc.attributes.wk}}
|
||||||
<div class="filler"></div>
|
<div class="filler"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,19 +15,19 @@
|
||||||
<section class="sheet-content">
|
<section class="sheet-content">
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="base_values">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="base_values">
|
||||||
{{> "systems/midgard5/templates/sheets/character/base_values.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/character/base_values.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="skills">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="skills">
|
||||||
{{> "systems/midgard5/templates/sheets/character/skills.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/character/skills.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="gear">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="gear">
|
||||||
{{> "systems/midgard5/templates/sheets/character/gear.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/character/gear.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
||||||
{{> "systems/midgard5/templates/sheets/character/spells.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/character/spells.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
{{> "systems/midgard5e/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||