diff --git a/package-lock.json b/package-lock.json index 8334fd2cf..5082ef94b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "twodsix", - "version": "0.6.32", + "version": "0.6.33-beta.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -424,9 +424,9 @@ "dev": true }, "@types/node": { - "version": "14.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.7.tgz", - "integrity": "sha512-hSEXknS4KiayUdZ7401J/T6eykXHJkDEipnyQMJ4/GstK4kWjbHnwXlcpvIWfPKiEH1JU96DkbzJ1nHRmpmKLw==", + "version": "14.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", + "integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==", "dev": true }, "@types/normalize-package-data": { @@ -1683,14 +1683,14 @@ "dev": true }, "compression-webpack-plugin": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.0.2.tgz", - "integrity": "sha512-WUv7fTy2uCZKJ4iFMKJG42GDepCEocS5eqsEi8uIJZy97k/WvzxGz9dwE4+pIAkcrK4B7k+teKo71IrLu+tbqw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.0.3.tgz", + "integrity": "sha512-xzSWiZWwBs+HHGhlYxw0oFaYL/0VYErEqDHCAJhJ3Mza5fmF5JJ4iaB6Ap2JT68C0UhhmoI4Mh37LVz/THv2Fw==", "dev": true, "requires": { "cacache": "^15.0.5", "find-cache-dir": "^3.3.1", - "schema-utils": "^2.7.1", + "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "webpack-sources": "^1.4.3" } @@ -1839,9 +1839,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.2.0.tgz", - "integrity": "sha512-1s/VbhIX73FBFBYF4D0KdeBLkjEnAlCQn0Ufo2a/IyJ41jHpQ9ZzM4JAfbE7yTOhbmwRFkARErJ/XIiLceja6Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz", + "integrity": "sha512-VH2ZTMIBsx4p++Lmpg77adZ0KUyM5gFR/9cuTrbneNnJlcQXUFvsNariPqq2dq2kV3F2skHiDGPQCyKWy1+U0Q==", "dev": true, "requires": { "cacache": "^15.0.5", @@ -1852,7 +1852,7 @@ "loader-utils": "^2.0.0", "normalize-path": "^3.0.0", "p-limit": "^3.0.2", - "schema-utils": "^2.7.1", + "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "webpack-sources": "^1.4.3" }, @@ -1994,6 +1994,17 @@ "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", "dev": true }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", @@ -2352,9 +2363,9 @@ "dev": true }, "eslint": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.10.0.tgz", - "integrity": "sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.11.0.tgz", + "integrity": "sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2367,7 +2378,7 @@ "enquirer": "^2.3.5", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^1.3.0", + "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.0", "esquery": "^1.2.0", "esutils": "^2.0.2", @@ -2430,12 +2441,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3096,13 +3101,13 @@ } }, "file-loader": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.0.tgz", - "integrity": "sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", + "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.7.1" + "schema-utils": "^3.0.0" } }, "filesize": { @@ -4830,9 +4835,9 @@ "dev": true }, "moment": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.0.tgz", - "integrity": "sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "dev": true }, "move-concurrently": { @@ -9582,15 +9587,15 @@ } }, "sass-loader": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.2.tgz", - "integrity": "sha512-wV6NDUVB8/iEYMalV/+139+vl2LaRFlZGEd5/xmdcdzQcgmis+npyco6NsDTVOlNA3y2NV9Gcz+vHyFMIT+ffg==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.3.tgz", + "integrity": "sha512-W4+FV5oUdYy0PnC11ZoPrcAexODgDCa3ngxoy5X5qBhZYoPz9FPjb6Oox8Aa0ZYEyx34k8AQfOVuvqefOSAAUQ==", "dev": true, "requires": { - "klona": "^2.0.3", + "klona": "^2.0.4", "loader-utils": "^2.0.0", "neo-async": "^2.6.2", - "schema-utils": "^2.7.1", + "schema-utils": "^3.0.0", "semver": "^7.3.2" }, "dependencies": { @@ -9603,13 +9608,13 @@ } }, "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, @@ -9968,15 +9973,15 @@ "dev": true }, "source-map-loader": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.0.tgz", - "integrity": "sha512-Kj7rXntLhAsEjZlqGz85Mbnu8N4gcxj5qZI1XyLQjqAI/p92ckRXwErb3jVYL5JxlFJnD4VgwybpB1h6NlETRg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.1.tgz", + "integrity": "sha512-m2HjSWP2R1yR9P31e4+ciGHFOPvW6GmqHgZkneOkrME2VvWysXTGi4o0yS28iKWWP3vAUmAoa+3x5ZRI2BIX6A==", "dev": true, "requires": { - "abab": "^2.0.4", + "abab": "^2.0.5", "iconv-lite": "^0.6.2", "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0", + "schema-utils": "^3.0.0", "source-map": "^0.6.1", "whatwg-mimetype": "^2.3.0" } @@ -10327,6 +10332,19 @@ "requires": { "loader-utils": "^2.0.0", "schema-utils": "^2.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } } }, "supports-color": { @@ -10794,9 +10812,9 @@ } }, "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.0.tgz", + "integrity": "sha512-+Zw5lu0D9tvBMjGP8LpvMb0u2WW2QV3y+D8mO6J+cNzCYIN4sVy43Bf9vl92nqFahutN0I8zHa7cc4vihIshnw==", "dev": true }, "tsutils": { @@ -10995,14 +11013,14 @@ "dev": true }, "url-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.0.tgz", - "integrity": "sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "mime-types": "^2.1.26", - "schema-utils": "^2.6.5" + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" } }, "use": { diff --git a/package.json b/package.json index f49d950b1..a879ec308 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "twodsix", - "version": "0.6.32", + "version": "0.6.33-beta.2", "description": "A 2d6 system", "scripts": { "build": "webpack --mode production", diff --git a/src/module/config.ts b/src/module/config.ts index 74b23edfe..8269d2d9d 100644 --- a/src/module/config.ts +++ b/src/module/config.ts @@ -2,6 +2,16 @@ export const TWODSIX:any = {}; +TWODSIX.CHARACTERISTICS = { + "strength": "STR", + "dexterity": "DEX", + "endurance": "END", + "intelligence": "INT", + "education": "EDU", + "socialStanding": "SOC", + "psionicStrength": "PSI" +}; + /** * The sets of rules variants one can use * Not currently used for anything. TODO Remove? diff --git a/src/module/entities/TwodsixItem.ts b/src/module/entities/TwodsixItem.ts index dd1c7b32e..7df8cfd8e 100644 --- a/src/module/entities/TwodsixItem.ts +++ b/src/module/entities/TwodsixItem.ts @@ -27,7 +27,9 @@ export default class TwodsixItem extends Item { const itemCharacteristic = itemData.data.characteristic; if (this.actor.data.data.characteristics) { //Temporary fix until issue #102 const actorCharacteristics = Object.values(this.actor.data.data.characteristics); - const activeCharacteristic:any = actorCharacteristics.filter((c:any) => c.shortLabel === itemCharacteristic); + const activeCharacteristic:any = actorCharacteristics.filter((c:any) => { + return c.shortLabel === itemCharacteristic; + }); let mod = 0; if (activeCharacteristic.length) { diff --git a/src/module/handlebars.ts b/src/module/handlebars.ts index b1409fa16..629478259 100644 --- a/src/module/handlebars.ts +++ b/src/module/handlebars.ts @@ -1,8 +1,12 @@ import * as util from "util"; import {advantageDisadvantageTerm} from "./i18n"; +import {calcModFor, getKeyByValue} from "./utils/sheetUtils"; +import {TWODSIX} from "./config"; export default function registerHandlebarsHelpers():void { + let showedError = false; + Handlebars.registerHelper('advantageDisadvantageTerm', (str) => { return advantageDisadvantageTerm(str); }); @@ -17,4 +21,19 @@ export default function registerHandlebarsHelpers():void { Handlebars.registerHelper('concat', function (a, b) { return a + b; }); + + Handlebars.registerHelper('skillCharacteristic', (actor, characteristic) => { + const actorData = actor.data; + const characteristicElement = actorData.characteristics[getKeyByValue(TWODSIX.CHARACTERISTICS, characteristic)]; + if (characteristicElement) { + const mod = calcModFor(characteristicElement.current); + return game.i18n.localize("TWODSIX.Items.Skills." + characteristicElement.shortLabel) + "(" + (mod < 0 ? "" : "+") + mod + ")"; + } else { + if (!showedError) { + ui.notifications.error("TWODSIX.Handlebars.CantShowCharacteristic"); + showedError = true; + } + return "XXX"; + } + }); } diff --git a/src/module/migration.ts b/src/module/migration.ts index 3c049435b..23ca05a3e 100644 --- a/src/module/migration.ts +++ b/src/module/migration.ts @@ -1,5 +1,7 @@ import {TwodsixItemData} from "./entities/TwodsixItem"; import {before} from "./hooks/ready"; +import {TWODSIX} from "./config"; +import {getKeyByValue} from "./utils/sheetUtils"; //TODO Move all types to a better place export type UpdateData = { @@ -28,18 +30,14 @@ export class Migration { private static async migrateActorItems(actorData:ActorData, systemMigrationVersion:string, actor:Actor) { //Handle any items that are on the actor const actorItems = actorData["items"]; + const toUpdate = []; for (const i of actorItems) { - const migratedItemData = await this.migrateItemData(i, systemMigrationVersion); - const migratedItem = mergeObject(i, migratedItemData); - try { - await actor.updateEmbeddedEntity("OwnedItem", migratedItem); - } catch (err) { - console.error(err); - } + toUpdate.push(mergeObject(i, this.migrateItemData(i, systemMigrationVersion))); } + await actor.updateEmbeddedEntity("OwnedItem", toUpdate); } - private static async migrateItemData(item:TwodsixItemData, systemMigrationVersion:string):Promise { + private static migrateItemData(item:TwodsixItemData, systemMigrationVersion:string):UpdateData { const updateData:UpdateData = {}; if (before(systemMigrationVersion, "0.6.9")) { @@ -77,6 +75,7 @@ export class Migration { } if (before(systemMigrationVersion, "0.6.25")) { + // This migration failed horribly, so removed in 0.6.26 // let cost; // try { // const price = item.data.price as string; @@ -102,9 +101,6 @@ export class Migration { } } - // Remove deprecated fields - this._migrateRemoveDeprecated(item, updateData); - return updateData; } @@ -141,25 +137,25 @@ export class Migration { const content = await pack.getContent(); const promises = []; - for (const ent of content) { + for (const actor of content) { try { let updateData = null; switch (entity) { case 'Item': - updateData = Migration.migrateItemData(ent.data, systemMigrationVersion); + updateData = Migration.migrateItemData(actor.data, systemMigrationVersion); break; case 'Actor': - updateData = Migration.migrateActorData(ent, systemMigrationVersion); + updateData = Migration.migrateActorData(actor, systemMigrationVersion); break; case 'Scene': - updateData = Migration.migrateSceneData(ent.data, systemMigrationVersion); + updateData = Migration.migrateSceneData(actor.data, systemMigrationVersion); break; } if (updateData && !isObjectEmpty(updateData)) { expandObject(updateData); - updateData._id = ent._id; + updateData._id = actor._id; promises.push(pack.updateEntity(updateData)); - console.log(`Migrating ${entity} entity ${ent.name} in Compendium ${pack.collection}`); + console.log(`Migrating ${entity} entity ${actor.name} in Compendium ${pack.collection}`); } } catch (err) { console.error(err); @@ -174,8 +170,8 @@ export class Migration { * A general migration to remove all fields from the data model which are flagged with a _deprecated tag * @private */ - static _migrateRemoveDeprecated(ent:TwodsixItemData, updateData:UpdateData):void { - const flat = flattenObject(ent.data); + static _migrateRemoveDeprecated(itemData:TwodsixItemData, updateData:UpdateData):void { + const flat = flattenObject(itemData.data); // console.warn('flat', flat); // Identify objects to deprecate const toDeprecate = Object.entries(flat) @@ -192,6 +188,9 @@ export class Migration { parts[parts.length - 1] = '-=' + parts[parts.length - 1]; updateData[`data.${parts.join('.')}`] = null; } + + //TODO Do as follows to remove a key in a migration. + //entity.update({ '-=key.to.remove': null }); } static async migrateWorld():Promise { @@ -244,7 +243,7 @@ export class Migration { await Promise.all([...actorMigrations, ...itemMigrations, ...sceneMigrations, ...packMigrations]); - game.settings.set("twodsix", "systemMigrationVersion", game.system.data.version); + await game.settings.set("twodsix", "systemMigrationVersion", game.system.data.version); ui.notifications.info(game.i18n.format("TWODSIX.Migration.Completed", {version: game.system.data.version}), {permanent: true}); } } diff --git a/src/module/sheets/AbstractTwodsixActorSheet.ts b/src/module/sheets/AbstractTwodsixActorSheet.ts index 0c429b502..592970174 100644 --- a/src/module/sheets/AbstractTwodsixActorSheet.ts +++ b/src/module/sheets/AbstractTwodsixActorSheet.ts @@ -82,8 +82,9 @@ export class AbstractTwodsixActorSheet extends ActorSheet { const {type} = header.dataset; // Grab any data associated with this control. const data = duplicate(header.dataset); - // Initialize a default name. - const name = game.i18n.localize("TWODSIX.Items.Items.New") + ` ${type.capitalize()}`; + // Initialize a default name, handle bad naming of 'skills' item type, which should be singular. + const itemType = (type === "skills" ? "skill" : type).capitalize(); + const name = game.i18n.localize("TWODSIX.Items.Items.New") + " " + `${itemType}`; data.name = name; // Prepare the item object. const itemData = { @@ -100,7 +101,7 @@ export class AbstractTwodsixActorSheet extends ActorSheet { } - protected static _prepareItemContainers(sheetData: { actor: any; items: any; }):void { + protected static _prepareItemContainers(sheetData:{ actor:any; items:any; }):void { const actorData = sheetData.actor; // Initialize containers. diff --git a/src/module/sheets/TwodsixActorSheet.ts b/src/module/sheets/TwodsixActorSheet.ts index dc45aaa07..672c308d0 100644 --- a/src/module/sheets/TwodsixActorSheet.ts +++ b/src/module/sheets/TwodsixActorSheet.ts @@ -2,7 +2,8 @@ import {TwodsixRolls} from "../utils/TwodsixRolls"; import {AbstractTwodsixActorSheet} from "./AbstractTwodsixActorSheet"; import TwodsixItem from "../entities/TwodsixItem"; import {UpdateData} from "../migration"; -import {calcModFor} from "../utils/sheetUtils"; +import {calcModFor, getKeyByValue} from "../utils/sheetUtils"; +import {TWODSIX} from "../config"; export class TwodsixActorSheet extends AbstractTwodsixActorSheet { @@ -29,6 +30,7 @@ export class TwodsixActorSheet extends AbstractTwodsixActorSheet { data.data.settings = { ShowRangeBandAndHideRange: game.settings.get('twodsix', 'ShowRangeBandAndHideRange'), }; + data.config = TWODSIX; return data; } @@ -63,25 +65,21 @@ export class TwodsixActorSheet extends AbstractTwodsixActorSheet { const characteristicKey = $(event.currentTarget).parents('.stat:first,.special:first').attr('data-characteristic'); const characteristic = this.actor.data.data.characteristics[characteristicKey]; const input = $(event.currentTarget).children(""); - if (input.val() > characteristic.value) { - input.val(characteristic.value); - } else if (input.val() < 0) { - input.val(0); + let damage = input.val(); + if (damage > characteristic.value) { + damage = characteristic.value; + } else if (damage < 0) { + damage = 0; } - characteristic.damage = input.val(); + characteristic.damage = damage; characteristic.current = characteristic.value - characteristic.damage; characteristic.mod = calcModFor(characteristic.current); const updateData = {}; const characteristics = this.actor.data.data.characteristics; - updateData[`data.characteristics.${characteristicKey}.damage`] = characteristic.damage; updateData['data.hits.value'] = characteristics["endurance"].current + characteristics["strength"].current + characteristics["dexterity"].current; updateData['data.hits.max'] = characteristics["endurance"].value + characteristics["strength"].value + characteristics["dexterity"].value; - try { - await this.actor.update(updateData); - } catch (e) { - console.log(e); - } + await this.actor.update(updateData); } /** diff --git a/src/module/utils/TwodsixRolls.ts b/src/module/utils/TwodsixRolls.ts index 9d93ab789..2c0251c23 100644 --- a/src/module/utils/TwodsixRolls.ts +++ b/src/module/utils/TwodsixRolls.ts @@ -2,6 +2,7 @@ import {TWODSIX} from "../config"; import TwodsixItem from "../entities/TwodsixItem"; import TwodsixActor from "../entities/TwodsixActor"; import {advantageDisadvantageTerm} from "../i18n"; +import {calcModFor, getKeyByValue} from "./sheetUtils"; export class TwodsixRolls { @@ -137,6 +138,7 @@ export class TwodsixRolls { dataset.skill = skill.name; item = null; dataset.item = ""; + this.createDatasetRoll(dataset, skill, actor); } else if (item) { //If the item isn't the skill, dig up the skill from the item skillId = item.data.data.skill; @@ -144,7 +146,7 @@ export class TwodsixRolls { if (skill != null) { dataset.skill = skill.name; dataset.item = item.name; - dataset.roll = "2d6+" + skill.data.data.mod + "+" + skill.data.data.value; + this.createDatasetRoll(dataset, skill, actor); } else { //No skill, no roll return; @@ -159,6 +161,22 @@ export class TwodsixRolls { } } + private static createDatasetRoll(dataset, skill:TwodsixItem, actor:TwodsixActor) { + if (!dataset.roll) { + if (skill) { + const mod = this.recalcMod(skill, actor); + dataset.roll = "2d6" + "+" + mod + "+" + skill.data.data.value; + } + } + console.log(dataset.roll); + } + + private static recalcMod(skill:TwodsixItem, actor:TwodsixActor) { + const keyByValue = getKeyByValue(TWODSIX.CHARACTERISTICS, skill.data.data.characteristic); + const characteristic = actor.data.data.characteristics[keyByValue]; + return calcModFor(characteristic.current); + } + private static simpleSkillRoll(dataset:DOMStringMap, actor:TwodsixActor, item ?:TwodsixItem, showEffect:boolean = game.settings.get("twodsix", "effectOrTotal")):void { const rollParts = dataset.roll?.split("+") || []; const flavorParts:string[] = []; @@ -207,7 +225,8 @@ export class TwodsixRolls { private static async advancedSkillRoll(event:{ preventDefault:() => void; currentTarget:any }, dataset:DOMStringMap, actor:TwodsixActor, item:TwodsixItem, showEffect:boolean) { const skillData = {}; - const rollParts = dataset.roll?.split("+") || []; + + const rollParts = dataset.roll?.split("+"); const flavorParts:string[] = []; let title; diff --git a/src/module/utils/sheetUtils.ts b/src/module/utils/sheetUtils.ts index 2067c40d0..60ddcca60 100644 --- a/src/module/utils/sheetUtils.ts +++ b/src/module/utils/sheetUtils.ts @@ -180,6 +180,10 @@ export function calcModFor(characteristic:number):number { // return calcModFor(characteristic); // } +export function getKeyByValue(object, value) { + return Object.keys(object).find(key => object[key] === value); +} + diff --git a/static/lang/en.json b/static/lang/en.json index 1cb9eae14..7226dac50 100644 --- a/static/lang/en.json +++ b/static/lang/en.json @@ -95,6 +95,9 @@ "Type": "Roll type" } }, + "Handlebars": { + "CantShowCharacteristic": "You need to reselect the characteristic for all skills marked with XXX. Sorry..." + }, "Items": { "Armor": { "Armor": "Armor" @@ -192,7 +195,7 @@ "name": "Default Prototype Token Settings" }, "effectOrTotal": { - "hint": "true=Show effect (i.e. roll+modifiers-target number, usually 8), false=show total (i.e. roll+modifiers)", + "hint": "true=Show effect (i.e. roll+modifiers-target number, usually 8), false=Show total (i.e. roll+modifiers)", "name": "Show effect or total roll value for skill and characteristic rolls." }, "initiativeFormula": { @@ -222,23 +225,23 @@ "name": "What you want to call rolls with disadvantage (3d6kl2)." }, "ShowLawLevel": { - "hint": "true=Show the 'Law Level' field, false=hide it", + "hint": "true=Show the 'Law Level' field, false=Hide it", "name": "Show the 'Law Level' field on weapon sheets" }, "ShowRecoil": { - "hint": "true=Show the 'Recoil' field, false=hide it", + "hint": "true=Show the 'Recoil' field, false=Hide it", "name": "Show the 'Recoil' field on weapon sheets" }, "ShowRateOfFire": { - "name": "true=Show the 'Rate of Fire' field, false=hide it", + "name": "true=Show the 'Rate of Fire' field, false=Hide it", "hint": "Show the 'Rate of Fire' field on weapon sheets" }, "ShowDamageType": { - "hint": "true=Show the 'Damage Type' field, false=hide it", + "hint": "true=Show the 'Damage Type' field, false=Hide it", "name": "Show the 'Damage Type' field on weapon sheets" }, "ShowWeaponType": { - "hint": "true=Show the 'Weapon Type' field, false=hide it", + "hint": "true=Show the 'Weapon Type' field, false=Hide it", "name": "Show the 'Weapon Type' field on weapon sheets" }, "ShowRangeBandAndHideRange": { diff --git a/static/lang/sv.json b/static/lang/sv.json index 442e7c557..fd73ea538 100644 --- a/static/lang/sv.json +++ b/static/lang/sv.json @@ -68,7 +68,7 @@ }, "Rolling": "Rullar", "Skills": { - "AddSkill": ">>Ny färdighet<<", + "AddSkill": "Ny färdighet", "DeleteItem": "Ta bort Sak", "EditItem": "Ändra Sak", "EditOrRemove": "Ändra el Sudda", @@ -96,6 +96,9 @@ "Type": "Slagtyp" } }, + "Handlebars": { + "CantShowCharacteristic": "Du måste återigen välja attribut för alla färdigheter som är markerade med XXX. Ledsen..." + }, "Items": { "Armor": { "Armor": "Rustning" @@ -193,7 +196,7 @@ "name": "Defaultprototypspelfigursinställningar" }, "effectOrTotal": { - "hint": "sant=Visa effekten (dvs. resultat+modifierare-målnummer, normalt 8), falskt=visa total (dvs. resultat+modifierare)", + "hint": "sant=Visa effekten (dvs. resultat+modifierare-målnummer, normalt 8), falskt=Visa total (dvs. resultat+modifierare)", "name": "Visa effekten eller totalvärdet när färgdighet och grundförmågor rullas." }, "initiativeFormula": { @@ -211,7 +214,7 @@ "name": "Modifierare for egenskapsvärde noll." }, "systemMigrationVersion": { - "hint": "Innehåller schema versionen för Twodsix systemet. (Modifiera inte denna om du inte vet vad du håller på med.)", + "hint": "Innehåller schemaversionen för Twodsix systemet. (Modifiera inte denna om du inte vet vad du håller på med.)", "name": "System Schema Version" }, "termForAdvantage": { @@ -228,19 +231,19 @@ }, "ShowRecoil": { "name": "Visa 'Rekyl' fältet på vapenblad", - "hint": "true=Visa 'Rekyl' fältet, falskt=Göm det" + "hint": "sant=Visa 'Rekyl' fältet, falskt=Göm det" }, "ShowRateOfFire": { "name": "Visa 'Eldhastighet' fältet på vapenblad", - "hint": "true=Visa 'Eldhastighet' fältet, falskt=Göm det" + "hint": "sant=Visa 'Eldhastighet' fältet, falskt=Göm det" }, "ShowDamageType": { "name": "Visa 'Skadetyp' fältet på vapenblad", - "hint": "true=Visa 'Skadetyp' fältet, falskt=Göm det" + "hint": "sant=Visa 'Skadetyp' fältet, falskt=Göm det" }, "ShowWeaponType": { "name": "Visa 'Vapentyp' fältet på vapenblad", - "hint": "true=Visa 'Vapentyp' fältet, falskt=Göm det" + "hint": "sant=Visa 'Vapentyp' fältet, falskt=Göm det" }, "ShowRangeBandAndHideRange": { "name": "Visa 'Räckviddsband' och *göm* 'Räckvidd' på vapenblad och karaktärsblad", diff --git a/static/packs/ce-skills.db b/static/packs/ce-skills.db index dc9ccabd2..a6cbdf81d 100644 --- a/static/packs/ce-skills.db +++ b/static/packs/ce-skills.db @@ -1,67 +1,67 @@ -{"_id":"1S3pPsOrhsaO0GdN","name":"Jack of All Trades","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Jack of All Trades","value":-3,"characteristic":"","type":"skills","description":"The Jack of All Trades skill works differently to other skills. It reduces the unskilled penalty a character receives for not having the appropriate skill by one for every level of Jack of All Trades. Jack of All Trades cannot grant a skill bonus at higher levels.","shortdescr":"The Jack of All Trades skill works differently to other skills."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"4TXCyTZkkKBmQLyq","name":"Admin","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Admin","value":-3,"characteristic":"","type":"skills","description":"The character has experience with bureaucratic agencies, and understands the requirements of dealing with and managing them. When attempting tasks like avoiding police harassment, ensuring the prompt issuance of licenses, approval of applications, avoidance of close inspection of papers, etc., a successful Admin skill check (with a Difficulty based on Base Difficulty by Law Level table), will provide a positive outcome to the situation.","shortdescr":"The character has experience with bureaucratic agencies, and understands the requirements of dealing with and managing them."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"55c8g1hWooO6TQVJ","name":"Gun Combat (Energy Pistol)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Energy Pistol)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using advanced pistol-style energy weapons like laser pistols and stunners.","shortdescr":"The character is skilled at using advanced pistol-style energy weapons like laser pistols and stunners."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"6axDoBKQ6IV9gkXo","name":"Vehicle (Mole)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Mole)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that move through solid matter using drills or other earth-moving technologies, like plasma torches or cavitation.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that move through solid matter using drills or other earth-moving technologies, like plasma torches or cavitation."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"8BcuXZtbPNEqd8or","name":"Melee Weapons (Piercing Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Weapons (Piercing Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using piercing and thrusting weapons, such as spears and polearms, in personal combat.","shortdescr":"The character is skilled at using piercing and thrusting weapons, such as spears and polearms, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"8ie6tShazDYqM5RE","name":"Broker","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Broker","value":-3,"characteristic":"","type":"skills","description":"A broker is skilled in locating suppliers and buyers, and facilitating the purchase and resale of commercial goods, as per the Trade and Commerce rules.","shortdescr":"A broker is skilled in locating suppliers and buyers, and facilitating the purchase and resale of commercial goods, as per the Trade and Commerce rules."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"9WtC1VHJu3TjLjiH","name":"Streetwise","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Streetwise","value":-3,"characteristic":"","type":"skills","description":"A character with the Streetwise skill understands the urban environment and the power structures in society. A skilled character knows where to go for information, how to handle strangers without offending them, and who can handle activities bordering on the fringe of legality.","shortdescr":"A character with the Streetwise skill understands the urban environment and the power structures in society."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"A7YMHSvL90JRzCUQ","name":"Gun Combat (Archery)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Archery)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using bows and crossbows for hunting or in combat.","shortdescr":"The character is skilled at using bows and crossbows for hunting or in combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"AF6LDrUXtGBUefTd","name":"Electronics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Electronics","value":-3,"characteristic":"","type":"skills","description":"The character is practiced in installing, using, maintaining, repairing and/or creating electronic devices and equipment. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Disabling Devices: The character is skilled at disarming alarm systems, picking electronic locks, disabling a malfunctioning robot, or similar tasks involving electronic devices.","shortdescr":"The character is practiced in installing, using, maintaining, repairing and/or creating electronic devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"ClbW0WZSDwknaaKe","name":"Animals (Survival)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Survival)","value":-3,"characteristic":"","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"Cpc8XG4UYid26rtn","name":"Science (Space Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Space Sciences)","value":-3,"characteristic":"","type":"skills","description":"This skill represents theoretical and practical knowledge derived from several scientific disciplines that study phenomena occurring in interplanetary and interstellar space, and the celestial bodies that exist within that space. This covers a wide range of related fields, such as astronomy, cosmology, planetology and xenology.","shortdescr":"This skill represents theoretical and practical knowledge derived from several scientific disciplines that study phenomena occurring in interplanetary and interstellar space, and the celestial bodies that exist within that space."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"CqbrSJgWgZxTgKQU","name":"Carousing","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Carousing","value":-3,"characteristic":"","type":"skills","description":"This skill reflects the interpersonal art of interacting and socializing with others. The character is skilled in the art of small talk and making others feel at ease in their presence in almost any social situation, such as a party, ball, inauguration, bar hopping, etc.","shortdescr":"This skill reflects the interpersonal art of interacting and socializing with others."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"DU2Mmn0P6wn5eIwh","name":"Aircraft (Grav Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Grav Vehicle)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on air/rafts and other vehicles that use gravitic technology. Grav vehicles have theoretically perfect maneuverability and can hover, but skill checks may be necessary when performing high-speed aerobatics","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on air/rafts and other vehicles that use gravitic technology."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"DYMmDtXUtGCeLltO","name":"Aircraft (Winged Aircraft)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Winged Aircraft)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on jets and other airplanes using a lifting body. Winged aircraft must keep moving forwards or they will stall and fall out of the sky.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on jets and other airplanes using a lifting body."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"DdwYTmEOrlPuioqh","name":"Gunnery (Turret Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Turret Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at operating turret-mounted weapons on board a ship.","shortdescr":"The character is skilled at operating turret-mounted weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"ETTy79dvAMkcPc2U","name":"Gunnery (Heavy Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Heavy Weapons)","value":-3,"characteristic":"","type":"skills","description":"The Heavy Weapons skill covers man-portable and larger weapons that cause extreme property damage, such as rocket launchers, artillery and plasma weapons.","shortdescr":"The Heavy Weapons skill covers man-portable and larger weapons that cause extreme property damage, such as rocket launchers, artillery and plasma weapons."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"G7dJd1mVH9uJddiG","name":"Riding ","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Riding ","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and provide basic, routine care for horses and other living creatures that are trained to bear a rider.","shortdescr":"This skill grants the ability to properly maneuver and provide basic, routine care for horses and other living creatures that are trained to bear a rider."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"Hd5ykvDZ3yRLwUm2","name":"Bribery","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Bribery","value":-3,"characteristic":"","type":"skills","description":"The character has experience in bribing petty and not-so petty officials in order to circumvent regulations or ignore cumbersome laws. The amount of a bribe is often based on the level of offense, as outlined in the Bribery Checks By Offense table. If the bribe is less than the minimum bribe required, the attempt will automatically fail. Characters may offer more than the minimum bribe required and receive a +1 DM for each multiple of the bribe offered. If the first offer is refused, a character may make a second attempt at twice the previous value of the bribe. If both attempts are refused (failed), the Referee should have the character make a Social Standing check, with a Difficulty based on Base Difficulty by Law Level table. If this also fails, the character will be brought up on charges of attempted bribery. For example, a character trying to bribe an official to ignore a minor smuggling infraction would have to offer a minimum bribe of Cr200. If the character offered Cr400 instead the character could gain a +1 DM on the check. If Cr600 were offered, the character could gain a +2 DM, etc.","shortdescr":"The character has experience in bribing petty and not-so petty officials in order to circumvent regulations or ignore cumbersome laws."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"I7P7UZX3EEsPx4IH","name":"Tactics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Tactics","value":-3,"characteristic":"","type":"skills","description":"This skill covers tactical planning and decision making, from board games to squad level combat to fleet engagements.","shortdescr":"This skill covers tactical planning and decision making, from board games to squad level combat to fleet engagements."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"IlsqWRiFvh0MYzjo","name":"Advocate","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Advocate","value":-3,"characteristic":"","type":"skills","description":"The character is familiar with the general laws and regulations that govern interstellar travel, commerce and relations. This skill does not impart knowledge of the myriad of laws on each individual world, nor does it allow the person to act as an attorney","shortdescr":"The character is familiar with the general laws and regulations that govern interstellar travel, commerce and relations."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"KKPaTxJ13h6cQzXX","name":"Steward","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Steward","value":-3,"characteristic":"","type":"skills","description":"The Steward skill allows the character to serve and care for nobles and high-class passengers. This includes knowledge of concierge duties, housekeeping services, meal preparation and presentation, personal grooming assistance and valet service, and proper social etiquette.","shortdescr":"The Steward skill allows the character to serve and care for nobles and high-class passengers."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"L51gfOnHPUkzbicr","name":"Animals (Veterinary Medicine)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Veterinary Medicine)","value":-3,"characteristic":"","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"Ldq1Gqo8SbdSkkyw","name":"Watercraft (Ocean Ships)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Ocean Ships)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on large motorized sea-going ships.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on large motorized sea-going ships."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"Mq5R0qJbqTae1Wdy","name":"Veterinary Medicine","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Veterinary Medicine","value":-3,"characteristic":"","type":"skills","description":"The individual has training and skill in the medical care and treatment of animals. This skill represents the character's ability to provide animals with emergency care, short term care, long-term care, and specialized treatment for diseases, poisons and debilitating injuries.","shortdescr":"The individual has training and skill in the medical care and treatment of animals."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"N9m1X6jcxB50tUSP","name":"Vehicle (Wheeled Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Wheeled Vehicle)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on automobiles and similar wheeled vehicles.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on automobiles and similar wheeled vehicles."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"O7Ik3VUlUaUDGGLn","name":"Survival ","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Survival ","value":-3,"characteristic":"","type":"skills","description":"The character is skilled in the art of survival in the wild, including hunting or trapping animals, avoiding exposure, locating sources of food and fresh water (if available), producing fires (where possible), finding shelter, avoiding dangerous flora and fauna, avoiding getting lost, and dealing with the dangers of hazardous climates (arctic, desert, etc.).","shortdescr":"The character is skilled in the art of survival in the wild, including hunting or trapping animals, avoiding exposure, locating sources of food and fresh water (if available), producing fires (where possible), finding shelter, avoiding dangerous flora and fauna, avoiding getting lost, and dealing with the dangers of hazardous climates (arctic, desert, etc."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"P4itcpHOF4hJBVNN","name":"Recon","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Recon","value":-3,"characteristic":"","type":"skills","description":"This skill represents the ability to scout out dangers and spot threats, unusual objects or out of place people. Characters skilled in Recon are adept at staying unseen and unheard.","shortdescr":"This skill represents the ability to scout out dangers and spot threats, unusual objects or out of place people."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"PMRwW9QpXNpZaApz","name":"Medicine","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Medicine","value":-3,"characteristic":"","type":"skills","description":"The individual has training and skill in the medical arts and sciences, from diagnosis and triage to surgery and other corrective treatments. This skill represents a character's ability to provide emergency care, short term care, long-term care, and specialized treatment for diseases, poisons and debilitating injuries. When treating a patient of a race other than their own, the character suffers a -2 DM.","shortdescr":"The individual has training and skill in the medical arts and sciences, from diagnosis and triage to surgery and other corrective treatments."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"PS0sTLeHQDJVqIL6","name":"Science (Social Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Social Sciences)","value":-3,"characteristic":"","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of sophont society and social relationships. This covers a wide range of related fields, such as archeology, economics, history, philosophy, psychology and sophontology.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of sophont society and social relationships."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"PSaMFB86A2qrLw4t","name":"Liaison","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Liaison","value":-3,"characteristic":"","type":"skills","description":"The character is trained in the art of dealing with others, including knowledge of proper protocols, manners of address, codes of conduct and other information needed when dealing with a wide range of societal types. Such a character is quite useful when attempting to negotiate a particularly edgy deal, to convince the Duke's secretary to admit the party into the Duke's presence, help settle a dispute between two opposing groups, or other acts of negotiation and diplomacy. Influencing Others: The character can change others' attitudes with a successful check. In negotiations, participants roll opposed Liaison checks to see who gains the advantage. Opposed checks also resolve cases when two diplomats are engaged in negotiations.","shortdescr":"The character is trained in the art of dealing with others, including knowledge of proper protocols, manners of address, codes of conduct and other information needed when dealing with a wide range of societal types."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"QUW8d2v9MoutspzH","name":"Animals (Riding)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Riding)","value":-3,"characteristic":"","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"QfuklqiDdD1E4CQB","name":"Science (Physical Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Physical Sciences)","value":-3,"characteristic":"","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of the nature and properties of energy and non-living matter. This covers a wide range of related fields, such as chemistry, electronics, geology and physics.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of the nature and properties of energy and non-living matter."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"RKnBn0K7RvoJ4vnR","name":"Melee Combat (Bludgeoning Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Bludgeoning Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using bludgeoning weapons, such as clubs, staffs and really big wrenches, in personal combat.","shortdescr":"The character is skilled at using bludgeoning weapons, such as clubs, staffs and really big wrenches, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"RfRlllrAnC2CyGRs","name":"Gun Combat (Shotguns)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Shotguns)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using shotguns.","shortdescr":"The character is skilled at using shotguns."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"RgYs2d7PV9BorLAE","name":"Gunnery (Screens)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Screens)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at activating and using a ship’s energy screens like nuclear dampers or meson screens","shortdescr":"The character is skilled at activating and using a ship’s energy screens like nuclear dampers or meson screens"},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"UimO4CvqZQoXCnek","name":"Athletics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Athletics","value":-3,"characteristic":"","type":"skills","description":"This skill covers physical fitness and training, similar to that of a trained athlete. This includes acts requiring physical coordination, such as climbing, juggling or throwing, acts of endurance, such as long-distance running or hiking, and acts of strength, such as weight-lifting or bodybuilding. Aliens with Wings: For alien species with wings, this skill is also used to reflect their ability to fly.","shortdescr":"This skill covers physical fitness and training, similar to that of a trained athlete."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"VHgp0s44tLzdzn6D","name":"Watercraft (Motorboats)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Motorboats)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on small motorized watercraft.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on small motorized watercraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"VPoFbZjnSDGIO7rI","name":"Linguistics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Linguistics","value":-3,"characteristic":"","type":"skills","description":"The character can read and write a different language for every level of Linguistics they possess. All characters can speak and read their native language without needing the Linguistics skill, and automated computer translator programs mean that the Linguistics skill are not always needed on other worlds. Having Linguistics-0 implies that the character has a smattering of simple phrases in many languages. In addition, Linguistics can be used to attempt to decipher the general meaning of a preserved specimen of language, such as an inscription or a recorded message.","shortdescr":"The character can read and write a different language for every level of Linguistics they possess."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"XFzCybZvvpx3UTnY","name":"Navigation","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Navigation","value":-3,"characteristic":"","type":"skills","description":"The character is trained in the science of normal and Jump space navigation. The Navigator on a starship plots the course and ensures that the astrogational information required by the pilot and other crewmembers is available when it is needed. This skill includes the ability to determine a ship's new location after a Jump ends, plotting a standard course through normal space, and plotting a Jump route through Jump space. A starship cannot make a Jump safely without a Jump route.","shortdescr":"The character is trained in the science of normal and Jump space navigation."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"XUZmlRj178kjuksh","name":"Piloting","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Piloting","value":-3,"characteristic":"","type":"skills","description":"The individual has training and experience in the operation of interplanetary and interstellar spacecraft. Piloting expertise is necessary to handle such craft, though a check is usually only made when circumstances become challenging, such as due to rough atmospheric conditions or hostile action.","shortdescr":"The individual has training and experience in the operation of interplanetary and interstellar spacecraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"YeLjOcb0uJm3Qt4O","name":"Watercraft (Submarine)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Submarine)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that travel underwater.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that travel underwater."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"aWc6peT2U2Yf3ocH","name":"Zero-G","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Zero-G","value":-3,"characteristic":"","type":"skills","description":"The character is acclimated to working and living in micro-gravity environments and freefall. The character is trained and familiar with the use of weapons and combat in such environments. In addition, the individual has been trained in the wearing, care, and maintenance of all types of Vacuum Suits and Combat Armor commonly used in these conditions.","shortdescr":"The character is acclimated to working and living in micro-gravity environments and freefall."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"bIWRyWGUlfkPPVgZ","name":"Gun Combat (Slug Pistol)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Slug Pistol)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using projectile-based pistols like the body pistol or snub pistol.","shortdescr":"The character is skilled at using projectile-based pistols like the body pistol or snub pistol."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"bif8PNeVwZVaG6JE","name":"Aircraft (Rotor Aircraft)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Rotor Aircraft)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on helicopters, hovercraft and other similar craft. Rotor aircraft can hover but may require skill checks to keep steady in the face of adverse environmental conditions.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on helicopters, hovercraft and other similar craft."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"bomsdK5XIwtM58nu","name":"Gunnery (Bay Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Bay Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at operating bay weapons on board a ship.","shortdescr":"The character is skilled at operating bay weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"d6OkcvW8R5U3dmFt","name":"Animals (Farming)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Farming)","value":-3,"characteristic":"","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"kqMSKodJZZCxChRM","name":"Engineering","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Engineering","value":-3,"characteristic":"","type":"skills","description":"The character is skilled in the operation and maintenance of starship maneuver drives, Jump drives, and power plants. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Engineering is particularly important in diverting power to the Jump Drives for a successful transition into Jump space.","shortdescr":"The character is skilled in the operation and maintenance of starship maneuver drives, Jump drives, and power plants."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"nUxZAMtHxgBacnSi","name":"Science (Life Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Life Sciences)","value":-3,"characteristic":"","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of living organisms. This covers a wide range of related fields, such as biochemistry, biology, botany, cybernetics, genetics, physiology and psionocology.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of living organisms."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"nY3ztgf20S42ivFt","name":"Demolitions","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Demolitions","value":-3,"characteristic":"","type":"skills","description":"This skill covers the use of demolition charges and other explosive devices, including assembling or disarming bombs.","shortdescr":"This skill covers the use of demolition charges and other explosive devices, including assembling or disarming bombs."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"neWkZoc5vHSwGZIF","name":"Battle Dress","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Battle Dress","value":-3,"characteristic":"","type":"skills","description":"This skill permits the character to operate advanced battle armor, a powered form of combat armor that enhances the wearer's capabilities in various ways. Ground-based military forces, and numerous mercenaries, are often trained in the basics of battle dress operation. This skill also covers the ability to operate vehicles designed as mechanical exoskeletons.","shortdescr":"This skill permits the character to operate advanced battle armor, a powered form of combat armor that enhances the wearer's capabilities in various ways."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"o22qwUgnk4uA1a1k","name":"Vehicle (Tracked Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Tracked Vehicle)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on tanks and other vehicles that move on tracks.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on tanks and other vehicles that move on tracks."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"pJvcdMJx7VUzzxTA","name":"Mechanics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Mechanics","value":-3,"characteristic":"","type":"skills","description":"The character is practiced in installing, using, maintaining, repairing and/or creating mechanical devices and equipment. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Disabling Devices: The character is skilled at disabling mechanical alarm systems, picking mechanical locks, or similar tasks involving mechanical devices.","shortdescr":"The character is practiced in installing, using, maintaining, repairing and/or creating mechanical devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"qPNp8pqw416VaYwO","name":"Gravitics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gravitics","value":-3,"characteristic":"","type":"skills","description":"The character is practiced in installing, maintaining, repairing and/or creating gravitic devices and equipment. Such items include air/raft lift modules, grav belts, grav sleds, grav tanks, etc. Gravitics skill deals with the technical details of such vehicles, Grav Vehicle skill is required to actually pilot or drive them. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems.","shortdescr":"The character is practiced in installing, maintaining, repairing and/or creating gravitic devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"r2ygPoXJeMs3SQ1W","name":"Gunnery (Spinal Mounts)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Spinal Mounts)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at operating bay or spinal mount weapons on board a ship. These weapons can be used against other ships or for planetary bombardment or attacks on stationary targets.","shortdescr":"The character is skilled at operating bay or spinal mount weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"rUad3kFJo1lfUDeC","name":"Melee Combat (Slashing Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Slashing Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using cutting and slashing weapons, such as swords and axes, in personal combat.","shortdescr":"The character is skilled at using cutting and slashing weapons, such as swords and axes, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"tXOjzJMIoJbpj5Du","name":"Computer","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Computer","value":-3,"characteristic":"","type":"skills","description":"The character is skilled in the programming and operation of electronic and fiber optic computers, both ground and shipboard models. Computers can be found on any world with a TL of 8 or higher, becoming exponentially more common at higher technology levels. A character without at least some computer training might find himself at disadvantage in the highly technical universe of science fiction. Anyone with Computer-0 or better can perform the following without a skill check: Log on to a Datanet, send and receive messages, search for non-classified information, and retrieve data and files. More skilled users can create or break data encryption, mine data effectively, create or break data and network security protocols, and perform other general programming tasks.","shortdescr":"The character is skilled in the programming and operation of electronic and fiber optic computers, both ground and shipboard models."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"u63yAxtDjhPBVnn2","name":"Watercraft (Sailing Ships)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Sailing Ships)","value":-3,"characteristic":"","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on wind-driven watercraft.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on wind-driven watercraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"uk3gY6IcJgqxT7qn","name":"Leadership","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Leadership","value":-3,"characteristic":"","type":"skills","description":"The character possesses the ability to rally, inspire, organize and direct team efforts to ensure the best cooperation and productivity possible. Coordinating Effort: Whenever a task requires one or more characters to combine their efforts (i.e. Teamwork, each makes a skill or ability check towards a common goal), the character gains a pool of points equal to the Effect of the skill check (minimum of 1), which can be distributed by the leader to individual team members as DMs (grant a +1 DM per point) on skill or ability checks made toward the common goal. Improving Initiative: The Leadership skill can be used to increase another character's Initiative. The character with Leadership makes a Leadership check, and the target character's Initiative is increased by the Effect of the check. Making a Leadership skill check is a significant action.","shortdescr":"The character possesses the ability to rally, inspire, organize and direct team efforts to ensure the best cooperation and productivity possible."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"vIPPbcuioLpHvRa0","name":"Gun Combat (Energy Rifle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Energy Rifle)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using advanced energy weapons like laser rifles or plasma rifles.","shortdescr":"The character is skilled at using advanced energy weapons like laser rifles or plasma rifles."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"vJQ6CyiCPwdxOkZD","name":"Comms","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Comms","value":-3,"characteristic":"","type":"skills","description":"The character is trained in the use, repair, and maintenance of communications and sensor devices. While anyone can press the button and make a communicator function, this skill is necessary to understand why the device does not work, or how to use the device for purposes other than open transmission. When using sensors, this skill allows the character to interpret the long-range data of a ship's sensors and scanners. Skilled characters can boost an incoming or outgoing signal, create or break a secure channel, detect signals and anomalies, hide or piggyback on another signal, jam local communications, locate and assess potential threats, and analyze complex sensor data.","shortdescr":"The character is trained in the use, repair, and maintenance of communications and sensor devices."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"vQzGyaFUi2l8tJkI","name":"Farming","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Farming","value":-3,"characteristic":"","type":"skills","description":"The character can grow and harvest crops and raise animals. This also covers hydroponic farming and clone harvesting for food production, at sufficiently high tech levels.","shortdescr":"The character can grow and harvest crops and raise animals."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"vi3HkT99zy7xBZv6","name":"Melee Combat (Natural Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Natural Weapons)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using their natural weapons in personal combat. Among humans, this includes brawling, martial arts and wrestling.","shortdescr":"The character is skilled at using their natural weapons in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"yPgBDR216iLTm5Pp","name":"Gun Combat (Slug Rifle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Slug Rifle)","value":-3,"characteristic":"","type":"skills","description":"The character is skilled at using projectile-based rifle weapons such as the autorifle or gauss rifle.","shortdescr":"The character is skilled at using projectile-based rifle weapons such as the autorifle or gauss rifle."},"flags":{},"img":"icons/svg/mystery-man.svg"} -{"_id":"yYsVgcmb8e8IoeK1","name":"Gambling","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gambling","value":-3,"characteristic":"","type":"skills","description":"The individual is well informed on games of chance, and wise in their play. He or she has an advantage over nonexperts, and is generally capable of winning when engaged in such games. Gambling, however, should not be confused with general risk-taking. Non-Competitive Games: These are games such as Slots, Roulette, Blackjack, Keno, etc. These games are played strictly against the house and the odds are pretty much constant, as are the payoff values. The character chooses a game by its odds of winning (high, average, low, small or remote) and places a bet. The Referee determines if the game is rigged. The character then rolls their Gambling score. On a success, the character receives the payoff amount based on the amount of their initial bet. House always wins on a natural 2. Competitive Games: If playing against a group of other players, each member of the game will make their Gambling skill check with the highest roll taking the pot. A character may attempt to cheat during a game at any time by stating his or her intent to cheat and making an extra Gambling check. If any other player in the game makes a successful opposing Gambling check against the character's attempt at cheating they are caught redhanded. Otherwise the player has successfully cheated and takes the pot. If more than one person attempts to cheat during the same round of play, the person with the highest roll wins the pot.","shortdescr":"The individual is well informed on games of chance, and wise in their play."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"1S3pPsOrhsaO0GdN","name":"Jack of All Trades","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Jack of All Trades","value":-3,"characteristic":"STR","type":"skills","description":"The Jack of All Trades skill works differently to other skills. It reduces the unskilled penalty a character receives for not having the appropriate skill by one for every level of Jack of All Trades. Jack of All Trades cannot grant a skill bonus at higher levels.","shortdescr":"The Jack of All Trades skill works differently to other skills."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"4TXCyTZkkKBmQLyq","name":"Admin","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Admin","value":-3,"characteristic":"STR","type":"skills","description":"The character has experience with bureaucratic agencies, and understands the requirements of dealing with and managing them. When attempting tasks like avoiding police harassment, ensuring the prompt issuance of licenses, approval of applications, avoidance of close inspection of papers, etc., a successful Admin skill check (with a Difficulty based on Base Difficulty by Law Level table), will provide a positive outcome to the situation.","shortdescr":"The character has experience with bureaucratic agencies, and understands the requirements of dealing with and managing them."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"55c8g1hWooO6TQVJ","name":"Gun Combat (Energy Pistol)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Energy Pistol)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using advanced pistol-style energy weapons like laser pistols and stunners.","shortdescr":"The character is skilled at using advanced pistol-style energy weapons like laser pistols and stunners."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"6axDoBKQ6IV9gkXo","name":"Vehicle (Mole)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Mole)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that move through solid matter using drills or other earth-moving technologies, like plasma torches or cavitation.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that move through solid matter using drills or other earth-moving technologies, like plasma torches or cavitation."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"8BcuXZtbPNEqd8or","name":"Melee Weapons (Piercing Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Weapons (Piercing Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using piercing and thrusting weapons, such as spears and polearms, in personal combat.","shortdescr":"The character is skilled at using piercing and thrusting weapons, such as spears and polearms, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"8ie6tShazDYqM5RE","name":"Broker","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Broker","value":-3,"characteristic":"STR","type":"skills","description":"A broker is skilled in locating suppliers and buyers, and facilitating the purchase and resale of commercial goods, as per the Trade and Commerce rules.","shortdescr":"A broker is skilled in locating suppliers and buyers, and facilitating the purchase and resale of commercial goods, as per the Trade and Commerce rules."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"9WtC1VHJu3TjLjiH","name":"Streetwise","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Streetwise","value":-3,"characteristic":"STR","type":"skills","description":"A character with the Streetwise skill understands the urban environment and the power structures in society. A skilled character knows where to go for information, how to handle strangers without offending them, and who can handle activities bordering on the fringe of legality.","shortdescr":"A character with the Streetwise skill understands the urban environment and the power structures in society."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"A7YMHSvL90JRzCUQ","name":"Gun Combat (Archery)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Archery)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using bows and crossbows for hunting or in combat.","shortdescr":"The character is skilled at using bows and crossbows for hunting or in combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"AF6LDrUXtGBUefTd","name":"Electronics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Electronics","value":-3,"characteristic":"STR","type":"skills","description":"The character is practiced in installing, using, maintaining, repairing and/or creating electronic devices and equipment. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Disabling Devices: The character is skilled at disarming alarm systems, picking electronic locks, disabling a malfunctioning robot, or similar tasks involving electronic devices.","shortdescr":"The character is practiced in installing, using, maintaining, repairing and/or creating electronic devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"ClbW0WZSDwknaaKe","name":"Animals (Survival)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Survival)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"Cpc8XG4UYid26rtn","name":"Science (Space Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Space Sciences)","value":-3,"characteristic":"STR","type":"skills","description":"This skill represents theoretical and practical knowledge derived from several scientific disciplines that study phenomena occurring in interplanetary and interstellar space, and the celestial bodies that exist within that space. This covers a wide range of related fields, such as astronomy, cosmology, planetology and xenology.","shortdescr":"This skill represents theoretical and practical knowledge derived from several scientific disciplines that study phenomena occurring in interplanetary and interstellar space, and the celestial bodies that exist within that space."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"CqbrSJgWgZxTgKQU","name":"Carousing","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Carousing","value":-3,"characteristic":"STR","type":"skills","description":"This skill reflects the interpersonal art of interacting and socializing with others. The character is skilled in the art of small talk and making others feel at ease in their presence in almost any social situation, such as a party, ball, inauguration, bar hopping, etc.","shortdescr":"This skill reflects the interpersonal art of interacting and socializing with others."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"DU2Mmn0P6wn5eIwh","name":"Aircraft (Grav Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Grav Vehicle)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on air/rafts and other vehicles that use gravitic technology. Grav vehicles have theoretically perfect maneuverability and can hover, but skill checks may be necessary when performing high-speed aerobatics","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on air/rafts and other vehicles that use gravitic technology."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"DYMmDtXUtGCeLltO","name":"Aircraft (Winged Aircraft)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Winged Aircraft)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on jets and other airplanes using a lifting body. Winged aircraft must keep moving forwards or they will stall and fall out of the sky.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on jets and other airplanes using a lifting body."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"DdwYTmEOrlPuioqh","name":"Gunnery (Turret Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Turret Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at operating turret-mounted weapons on board a ship.","shortdescr":"The character is skilled at operating turret-mounted weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"ETTy79dvAMkcPc2U","name":"Gunnery (Heavy Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Heavy Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The Heavy Weapons skill covers man-portable and larger weapons that cause extreme property damage, such as rocket launchers, artillery and plasma weapons.","shortdescr":"The Heavy Weapons skill covers man-portable and larger weapons that cause extreme property damage, such as rocket launchers, artillery and plasma weapons."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"G7dJd1mVH9uJddiG","name":"Riding ","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Riding ","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and provide basic, routine care for horses and other living creatures that are trained to bear a rider.","shortdescr":"This skill grants the ability to properly maneuver and provide basic, routine care for horses and other living creatures that are trained to bear a rider."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"Hd5ykvDZ3yRLwUm2","name":"Bribery","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Bribery","value":-3,"characteristic":"STR","type":"skills","description":"The character has experience in bribing petty and not-so petty officials in order to circumvent regulations or ignore cumbersome laws. The amount of a bribe is often based on the level of offense, as outlined in the Bribery Checks By Offense table. If the bribe is less than the minimum bribe required, the attempt will automatically fail. Characters may offer more than the minimum bribe required and receive a +1 DM for each multiple of the bribe offered. If the first offer is refused, a character may make a second attempt at twice the previous value of the bribe. If both attempts are refused (failed), the Referee should have the character make a Social Standing check, with a Difficulty based on Base Difficulty by Law Level table. If this also fails, the character will be brought up on charges of attempted bribery. For example, a character trying to bribe an official to ignore a minor smuggling infraction would have to offer a minimum bribe of Cr200. If the character offered Cr400 instead the character could gain a +1 DM on the check. If Cr600 were offered, the character could gain a +2 DM, etc.","shortdescr":"The character has experience in bribing petty and not-so petty officials in order to circumvent regulations or ignore cumbersome laws."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"I7P7UZX3EEsPx4IH","name":"Tactics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Tactics","value":-3,"characteristic":"STR","type":"skills","description":"This skill covers tactical planning and decision making, from board games to squad level combat to fleet engagements.","shortdescr":"This skill covers tactical planning and decision making, from board games to squad level combat to fleet engagements."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"IlsqWRiFvh0MYzjo","name":"Advocate","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Advocate","value":-3,"characteristic":"STR","type":"skills","description":"The character is familiar with the general laws and regulations that govern interstellar travel, commerce and relations. This skill does not impart knowledge of the myriad of laws on each individual world, nor does it allow the person to act as an attorney","shortdescr":"The character is familiar with the general laws and regulations that govern interstellar travel, commerce and relations."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"KKPaTxJ13h6cQzXX","name":"Steward","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Steward","value":-3,"characteristic":"STR","type":"skills","description":"The Steward skill allows the character to serve and care for nobles and high-class passengers. This includes knowledge of concierge duties, housekeeping services, meal preparation and presentation, personal grooming assistance and valet service, and proper social etiquette.","shortdescr":"The Steward skill allows the character to serve and care for nobles and high-class passengers."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"L51gfOnHPUkzbicr","name":"Animals (Veterinary Medicine)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Veterinary Medicine)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"Ldq1Gqo8SbdSkkyw","name":"Watercraft (Ocean Ships)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Ocean Ships)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on large motorized sea-going ships.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on large motorized sea-going ships."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"Mq5R0qJbqTae1Wdy","name":"Veterinary Medicine","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Veterinary Medicine","value":-3,"characteristic":"STR","type":"skills","description":"The individual has training and skill in the medical care and treatment of animals. This skill represents the character's ability to provide animals with emergency care, short term care, long-term care, and specialized treatment for diseases, poisons and debilitating injuries.","shortdescr":"The individual has training and skill in the medical care and treatment of animals."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"N9m1X6jcxB50tUSP","name":"Vehicle (Wheeled Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Wheeled Vehicle)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on automobiles and similar wheeled vehicles.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on automobiles and similar wheeled vehicles."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"O7Ik3VUlUaUDGGLn","name":"Survival ","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Survival ","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled in the art of survival in the wild, including hunting or trapping animals, avoiding exposure, locating sources of food and fresh water (if available), producing fires (where possible), finding shelter, avoiding dangerous flora and fauna, avoiding getting lost, and dealing with the dangers of hazardous climates (arctic, desert, etc.).","shortdescr":"The character is skilled in the art of survival in the wild, including hunting or trapping animals, avoiding exposure, locating sources of food and fresh water (if available), producing fires (where possible), finding shelter, avoiding dangerous flora and fauna, avoiding getting lost, and dealing with the dangers of hazardous climates (arctic, desert, etc."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"P4itcpHOF4hJBVNN","name":"Recon","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Recon","value":-3,"characteristic":"STR","type":"skills","description":"This skill represents the ability to scout out dangers and spot threats, unusual objects or out of place people. Characters skilled in Recon are adept at staying unseen and unheard.","shortdescr":"This skill represents the ability to scout out dangers and spot threats, unusual objects or out of place people."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"PMRwW9QpXNpZaApz","name":"Medicine","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Medicine","value":-3,"characteristic":"STR","type":"skills","description":"The individual has training and skill in the medical arts and sciences, from diagnosis and triage to surgery and other corrective treatments. This skill represents a character's ability to provide emergency care, short term care, long-term care, and specialized treatment for diseases, poisons and debilitating injuries. When treating a patient of a race other than their own, the character suffers a -2 DM.","shortdescr":"The individual has training and skill in the medical arts and sciences, from diagnosis and triage to surgery and other corrective treatments."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"PS0sTLeHQDJVqIL6","name":"Science (Social Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Social Sciences)","value":-3,"characteristic":"STR","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of sophont society and social relationships. This covers a wide range of related fields, such as archeology, economics, history, philosophy, psychology and sophontology.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of sophont society and social relationships."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"PSaMFB86A2qrLw4t","name":"Liaison","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Liaison","value":-3,"characteristic":"STR","type":"skills","description":"The character is trained in the art of dealing with others, including knowledge of proper protocols, manners of address, codes of conduct and other information needed when dealing with a wide range of societal types. Such a character is quite useful when attempting to negotiate a particularly edgy deal, to convince the Duke's secretary to admit the party into the Duke's presence, help settle a dispute between two opposing groups, or other acts of negotiation and diplomacy. Influencing Others: The character can change others' attitudes with a successful check. In negotiations, participants roll opposed Liaison checks to see who gains the advantage. Opposed checks also resolve cases when two diplomats are engaged in negotiations.","shortdescr":"The character is trained in the art of dealing with others, including knowledge of proper protocols, manners of address, codes of conduct and other information needed when dealing with a wide range of societal types."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"QUW8d2v9MoutspzH","name":"Animals (Riding)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Riding)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"QfuklqiDdD1E4CQB","name":"Science (Physical Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Physical Sciences)","value":-3,"characteristic":"STR","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of the nature and properties of energy and non-living matter. This covers a wide range of related fields, such as chemistry, electronics, geology and physics.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of the nature and properties of energy and non-living matter."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"RKnBn0K7RvoJ4vnR","name":"Melee Combat (Bludgeoning Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Bludgeoning Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using bludgeoning weapons, such as clubs, staffs and really big wrenches, in personal combat.","shortdescr":"The character is skilled at using bludgeoning weapons, such as clubs, staffs and really big wrenches, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"RfRlllrAnC2CyGRs","name":"Gun Combat (Shotguns)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Shotguns)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using shotguns.","shortdescr":"The character is skilled at using shotguns."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"RgYs2d7PV9BorLAE","name":"Gunnery (Screens)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Screens)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at activating and using a ship’s energy screens like nuclear dampers or meson screens","shortdescr":"The character is skilled at activating and using a ship’s energy screens like nuclear dampers or meson screens"},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"UimO4CvqZQoXCnek","name":"Athletics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Athletics","value":-3,"characteristic":"STR","type":"skills","description":"This skill covers physical fitness and training, similar to that of a trained athlete. This includes acts requiring physical coordination, such as climbing, juggling or throwing, acts of endurance, such as long-distance running or hiking, and acts of strength, such as weight-lifting or bodybuilding. Aliens with Wings: For alien species with wings, this skill is also used to reflect their ability to fly.","shortdescr":"This skill covers physical fitness and training, similar to that of a trained athlete."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"VHgp0s44tLzdzn6D","name":"Watercraft (Motorboats)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Motorboats)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on small motorized watercraft.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on small motorized watercraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"VPoFbZjnSDGIO7rI","name":"Linguistics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Linguistics","value":-3,"characteristic":"STR","type":"skills","description":"The character can read and write a different language for every level of Linguistics they possess. All characters can speak and read their native language without needing the Linguistics skill, and automated computer translator programs mean that the Linguistics skill are not always needed on other worlds. Having Linguistics-0 implies that the character has a smattering of simple phrases in many languages. In addition, Linguistics can be used to attempt to decipher the general meaning of a preserved specimen of language, such as an inscription or a recorded message.","shortdescr":"The character can read and write a different language for every level of Linguistics they possess."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"XFzCybZvvpx3UTnY","name":"Navigation","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Navigation","value":-3,"characteristic":"STR","type":"skills","description":"The character is trained in the science of normal and Jump space navigation. The Navigator on a starship plots the course and ensures that the astrogational information required by the pilot and other crewmembers is available when it is needed. This skill includes the ability to determine a ship's new location after a Jump ends, plotting a standard course through normal space, and plotting a Jump route through Jump space. A starship cannot make a Jump safely without a Jump route.","shortdescr":"The character is trained in the science of normal and Jump space navigation."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"XUZmlRj178kjuksh","name":"Piloting","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Piloting","value":-3,"characteristic":"STR","type":"skills","description":"The individual has training and experience in the operation of interplanetary and interstellar spacecraft. Piloting expertise is necessary to handle such craft, though a check is usually only made when circumstances become challenging, such as due to rough atmospheric conditions or hostile action.","shortdescr":"The individual has training and experience in the operation of interplanetary and interstellar spacecraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"YeLjOcb0uJm3Qt4O","name":"Watercraft (Submarine)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Submarine)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that travel underwater.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on vehicles that travel underwater."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"aWc6peT2U2Yf3ocH","name":"Zero-G","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Zero-G","value":-3,"characteristic":"STR","type":"skills","description":"The character is acclimated to working and living in micro-gravity environments and freefall. The character is trained and familiar with the use of weapons and combat in such environments. In addition, the individual has been trained in the wearing, care, and maintenance of all types of Vacuum Suits and Combat Armor commonly used in these conditions.","shortdescr":"The character is acclimated to working and living in micro-gravity environments and freefall."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"bIWRyWGUlfkPPVgZ","name":"Gun Combat (Slug Pistol)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Slug Pistol)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using projectile-based pistols like the body pistol or snub pistol.","shortdescr":"The character is skilled at using projectile-based pistols like the body pistol or snub pistol."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"bif8PNeVwZVaG6JE","name":"Aircraft (Rotor Aircraft)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Aircraft (Rotor Aircraft)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on helicopters, hovercraft and other similar craft. Rotor aircraft can hover but may require skill checks to keep steady in the face of adverse environmental conditions.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on helicopters, hovercraft and other similar craft."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"bomsdK5XIwtM58nu","name":"Gunnery (Bay Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Bay Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at operating bay weapons on board a ship.","shortdescr":"The character is skilled at operating bay weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"d6OkcvW8R5U3dmFt","name":"Animals (Farming)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Farming)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"kqMSKodJZZCxChRM","name":"Engineering","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Engineering","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled in the operation and maintenance of starship maneuver drives, Jump drives, and power plants. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Engineering is particularly important in diverting power to the Jump Drives for a successful transition into Jump space.","shortdescr":"The character is skilled in the operation and maintenance of starship maneuver drives, Jump drives, and power plants."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"nUxZAMtHxgBacnSi","name":"Science (Life Sciences)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Science (Life Sciences)","value":-3,"characteristic":"STR","type":"skills","description":"This skill represents theoretical and practical knowledge derived from the scientific study of living organisms. This covers a wide range of related fields, such as biochemistry, biology, botany, cybernetics, genetics, physiology and psionocology.","shortdescr":"This skill represents theoretical and practical knowledge derived from the scientific study of living organisms."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"nY3ztgf20S42ivFt","name":"Demolitions","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Demolitions","value":-3,"characteristic":"STR","type":"skills","description":"This skill covers the use of demolition charges and other explosive devices, including assembling or disarming bombs.","shortdescr":"This skill covers the use of demolition charges and other explosive devices, including assembling or disarming bombs."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"neWkZoc5vHSwGZIF","name":"Battle Dress","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Battle Dress","value":-3,"characteristic":"STR","type":"skills","description":"This skill permits the character to operate advanced battle armor, a powered form of combat armor that enhances the wearer's capabilities in various ways. Ground-based military forces, and numerous mercenaries, are often trained in the basics of battle dress operation. This skill also covers the ability to operate vehicles designed as mechanical exoskeletons.","shortdescr":"This skill permits the character to operate advanced battle armor, a powered form of combat armor that enhances the wearer's capabilities in various ways."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"o22qwUgnk4uA1a1k","name":"Vehicle (Tracked Vehicle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Vehicle (Tracked Vehicle)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on tanks and other vehicles that move on tracks.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on tanks and other vehicles that move on tracks."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"pJvcdMJx7VUzzxTA","name":"Mechanics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Mechanics","value":-3,"characteristic":"STR","type":"skills","description":"The character is practiced in installing, using, maintaining, repairing and/or creating mechanical devices and equipment. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems. Disabling Devices: The character is skilled at disabling mechanical alarm systems, picking mechanical locks, or similar tasks involving mechanical devices.","shortdescr":"The character is practiced in installing, using, maintaining, repairing and/or creating mechanical devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"qPNp8pqw416VaYwO","name":"Gravitics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gravitics","value":-3,"characteristic":"STR","type":"skills","description":"The character is practiced in installing, maintaining, repairing and/or creating gravitic devices and equipment. Such items include air/raft lift modules, grav belts, grav sleds, grav tanks, etc. Gravitics skill deals with the technical details of such vehicles, Grav Vehicle skill is required to actually pilot or drive them. The character can practice a trade and make a decent living, earning a paycheck for every week of dedicated work. The character knows how to use the tools of the trade, how to perform routine tasks, how to supervise untrained helpers, and how to handle common problems.","shortdescr":"The character is practiced in installing, maintaining, repairing and/or creating gravitic devices and equipment."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"r2ygPoXJeMs3SQ1W","name":"Gunnery (Spinal Mounts)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gunnery (Spinal Mounts)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at operating bay or spinal mount weapons on board a ship. These weapons can be used against other ships or for planetary bombardment or attacks on stationary targets.","shortdescr":"The character is skilled at operating bay or spinal mount weapons on board a ship."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"rUad3kFJo1lfUDeC","name":"Melee Combat (Slashing Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Slashing Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using cutting and slashing weapons, such as swords and axes, in personal combat.","shortdescr":"The character is skilled at using cutting and slashing weapons, such as swords and axes, in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"tXOjzJMIoJbpj5Du","name":"Computer","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Computer","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled in the programming and operation of electronic and fiber optic computers, both ground and shipboard models. Computers can be found on any world with a TL of 8 or higher, becoming exponentially more common at higher technology levels. A character without at least some computer training might find himself at disadvantage in the highly technical universe of science fiction. Anyone with Computer-0 or better can perform the following without a skill check: Log on to a Datanet, send and receive messages, search for non-classified information, and retrieve data and files. More skilled users can create or break data encryption, mine data effectively, create or break data and network security protocols, and perform other general programming tasks.","shortdescr":"The character is skilled in the programming and operation of electronic and fiber optic computers, both ground and shipboard models."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"u63yAxtDjhPBVnn2","name":"Watercraft (Sailing Ships)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Watercraft (Sailing Ships)","value":-3,"characteristic":"STR","type":"skills","description":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on wind-driven watercraft.","shortdescr":"This skill grants the ability to properly maneuver and perform basic, routine maintenance on wind-driven watercraft."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"uk3gY6IcJgqxT7qn","name":"Leadership","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Leadership","value":-3,"characteristic":"STR","type":"skills","description":"The character possesses the ability to rally, inspire, organize and direct team efforts to ensure the best cooperation and productivity possible. Coordinating Effort: Whenever a task requires one or more characters to combine their efforts (i.e. Teamwork, each makes a skill or ability check towards a common goal), the character gains a pool of points equal to the Effect of the skill check (minimum of 1), which can be distributed by the leader to individual team members as DMs (grant a +1 DM per point) on skill or ability checks made toward the common goal. Improving Initiative: The Leadership skill can be used to increase another character's Initiative. The character with Leadership makes a Leadership check, and the target character's Initiative is increased by the Effect of the check. Making a Leadership skill check is a significant action.","shortdescr":"The character possesses the ability to rally, inspire, organize and direct team efforts to ensure the best cooperation and productivity possible."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"vIPPbcuioLpHvRa0","name":"Gun Combat (Energy Rifle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Energy Rifle)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using advanced energy weapons like laser rifles or plasma rifles.","shortdescr":"The character is skilled at using advanced energy weapons like laser rifles or plasma rifles."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"vJQ6CyiCPwdxOkZD","name":"Comms","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Comms","value":-3,"characteristic":"STR","type":"skills","description":"The character is trained in the use, repair, and maintenance of communications and sensor devices. While anyone can press the button and make a communicator function, this skill is necessary to understand why the device does not work, or how to use the device for purposes other than open transmission. When using sensors, this skill allows the character to interpret the long-range data of a ship's sensors and scanners. Skilled characters can boost an incoming or outgoing signal, create or break a secure channel, detect signals and anomalies, hide or piggyback on another signal, jam local communications, locate and assess potential threats, and analyze complex sensor data.","shortdescr":"The character is trained in the use, repair, and maintenance of communications and sensor devices."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"vQzGyaFUi2l8tJkI","name":"Farming","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Farming","value":-3,"characteristic":"STR","type":"skills","description":"The character can grow and harvest crops and raise animals. This also covers hydroponic farming and clone harvesting for food production, at sufficiently high tech levels.","shortdescr":"The character can grow and harvest crops and raise animals."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"vi3HkT99zy7xBZv6","name":"Melee Combat (Natural Weapons)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Melee Combat (Natural Weapons)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using their natural weapons in personal combat. Among humans, this includes brawling, martial arts and wrestling.","shortdescr":"The character is skilled at using their natural weapons in personal combat."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"yPgBDR216iLTm5Pp","name":"Gun Combat (Slug Rifle)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gun Combat (Slug Rifle)","value":-3,"characteristic":"STR","type":"skills","description":"The character is skilled at using projectile-based rifle weapons such as the autorifle or gauss rifle.","shortdescr":"The character is skilled at using projectile-based rifle weapons such as the autorifle or gauss rifle."},"flags":{},"img":"icons/svg/mystery-man.svg"} +{"_id":"yYsVgcmb8e8IoeK1","name":"Gambling","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Gambling","value":-3,"characteristic":"STR","type":"skills","description":"The individual is well informed on games of chance, and wise in their play. He or she has an advantage over nonexperts, and is generally capable of winning when engaged in such games. Gambling, however, should not be confused with general risk-taking. Non-Competitive Games: These are games such as Slots, Roulette, Blackjack, Keno, etc. These games are played strictly against the house and the odds are pretty much constant, as are the payoff values. The character chooses a game by its odds of winning (high, average, low, small or remote) and places a bet. The Referee determines if the game is rigged. The character then rolls their Gambling score. On a success, the character receives the payoff amount based on the amount of their initial bet. House always wins on a natural 2. Competitive Games: If playing against a group of other players, each member of the game will make their Gambling skill check with the highest roll taking the pot. A character may attempt to cheat during a game at any time by stating his or her intent to cheat and making an extra Gambling check. If any other player in the game makes a successful opposing Gambling check against the character's attempt at cheating they are caught redhanded. Otherwise the player has successfully cheated and takes the pot. If more than one person attempts to cheat during the same round of play, the person with the highest roll wins the pot.","shortdescr":"The individual is well informed on games of chance, and wise in their play."},"flags":{},"img":"icons/svg/mystery-man.svg"} {"_id":"QUW8d2v9MoutspzH","name":"Animals (Riding)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Riding)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} {"_id":"UimO4CvqZQoXCnek","name":"Athletics","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Athletics","value":-3,"characteristic":"STR","type":"skills","description":"This skill covers physical fitness and training, similar to that of a trained athlete. This includes acts requiring physical coordination, such as climbing, juggling or throwing, acts of endurance, such as long-distance running or hiking, and acts of strength, such as weight-lifting or bodybuilding. Aliens with Wings: For alien species with wings, this skill is also used to reflect their ability to fly.","shortdescr":"This skill covers physical fitness and training, similar to that of a trained athlete."},"flags":{},"img":"icons/svg/mystery-man.svg"} {"_id":"L51gfOnHPUkzbicr","name":"Animals (Veterinary Medicine)","permission":{"default":0,"d6IsI4dwnjN5zrFT":3},"type":"skills","data":{"name":"Animals (Veterinary Medicine)","value":-3,"characteristic":"STR","type":"skills","description":"The various specialties of this skill cover different aspects of animal handling.","shortdescr":"The various specialties of this skill cover different aspects of animal handling."},"flags":{},"img":"icons/svg/mystery-man.svg"} diff --git a/static/system.json b/static/system.json index 342cfd7ef..eead9827f 100644 --- a/static/system.json +++ b/static/system.json @@ -6,7 +6,7 @@ "manifest": "https://github.com/xdy/twodsix-foundryvtt/releases/latest/download/system.json", "readme": "https://raw.githubusercontent.com/xdy/twodsix-foundryvtt/master/README.md", "download": "https://github.com/xdy/twodsix-foundryvtt/releases/latest/download/twodsix.zip", - "version": "0.6.32", + "version": "0.6.33-beta.2", "author": "Jonas Karlsson (xdy#3735), Kevin Maree (Ultra Kev#9816), Rob (RobCubed #9180)", "bugs": "Plenty of them, this is an early alpha...", "changelog": "https://raw.githubusercontent.com/xdy/twodsix-foundryvtt/master/CHANGELOG.md", diff --git a/static/templates/actors/parts/actor/actor-skills.html b/static/templates/actors/parts/actor/actor-skills.html index 24c915784..e070102be 100644 --- a/static/templates/actors/parts/actor/actor-skills.html +++ b/static/templates/actors/parts/actor/actor-skills.html @@ -18,10 +18,12 @@
  • d6 - {{item.name}} - {{data.value}} - {{data.characteristic}} ({{numberFormat data.mod decimals=0 sign=true}}) - {{data.total}} + {{item.name}} + {{data.value}} + + {{skillCharacteristic ../actor data.characteristic}} + + {{data.total}} diff --git a/static/templates/items/weapon-sheet.html b/static/templates/items/weapon-sheet.html index 095af98f4..be2cfc5e9 100644 --- a/static/templates/items/weapon-sheet.html +++ b/static/templates/items/weapon-sheet.html @@ -70,15 +70,9 @@ {{/if}} {{#if data.settings.ShowRecoil}} -
    {{localize "TWODSIX.Items.Weapon.recoil"}} - +
    {{/if}}