Debuting the conversion of skills to items list : Db and item Sheet

This commit is contained in:
Vlyan
2023-01-07 15:57:44 +01:00
parent ac43982f24
commit 5fbb34d882
20 changed files with 342 additions and 4 deletions

View File

@@ -1,6 +1,9 @@
# Changelog # Changelog
Date format : day/month/year Date format : day/month/year
## 2.0.0 - xx/xx/2023 - Skill list
- Skills are now items, this can break things update with caution !
## 1.9.4 - 31/12/2022 - Last bugfixes of the Year ! ## 1.9.4 - 31/12/2022 - Last bugfixes of the Year !
- Fix prepared settings bugs (trackers icons sometimes disappears). - Fix prepared settings bugs (trackers icons sometimes disappears).
- GM Toolbox : Left clic do only actors with an active player as owner. - GM Toolbox : Left clic do only actors with an active player as owner.

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="239.5px" height="239.5px" viewBox="0 0 239.5 239.5" style="enable-background:new 0 0 239.5 239.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFCC;}
</style>
<g>
<g>
<path class="st0" d="M173.2,103.1c0.8-4.9,1.4-9.8,1.4-14.9c0-48.2-39.1-87.3-87.3-87.3C39.1,0.9,0,40,0,88.2s39.1,87.3,87.3,87.3
c5.7,0,11.3-0.6,16.7-1.6c0-0.1,0-0.2,0-0.3c0-7.6,1.2-14.9,3.5-21.7c-6.4,2-13.1,3.1-20.1,3.1c-36.8,0-66.7-29.9-66.7-66.7
s29.9-66.7,66.7-66.7s66.7,29.9,66.7,66.7c0,6.5-1,12.9-2.8,18.8C158.2,104.6,165.5,103.2,173.2,103.1z"/>
<path class="st0" d="M87.3,26.8c-33.8,0-61.4,27.5-61.4,61.4c0,33.8,27.5,61.4,61.4,61.4c8,0,15.7-1.6,22.7-4.4
c6.9-15.6,19.3-28.2,34.7-35.4c2.5-6.7,4-13.9,4-21.5C148.6,54.3,121.1,26.8,87.3,26.8z M110.6,101.7c0,5.4-4.4,9.8-9.8,9.8H73.7
c-5.4,0-9.8-4.4-9.8-9.8v-27c0-5.4,4.4-9.8,9.8-9.8h27.1c5.4,0,9.8,4.4,9.8,9.8V101.7z"/>
<path class="st0" d="M174.4,108.4c-0.8,0-1.6,0.1-2.4,0.1c-8.2,0.3-16,2-23.1,5.1c-1.3,0.5-2.5,1.2-3.8,1.8
c-1.4,0.7-2.8,1.5-4.2,2.3c-9.5,5.7-17.5,13.8-23.1,23.5c-0.8,1.4-1.5,2.8-2.2,4.3c-0.6,1.2-1.2,2.5-1.7,3.8
c-2.9,7.2-4.6,15-4.7,23.2c0,0.3,0,0.7,0,1c0,35.9,29.2,65.1,65.1,65.1s65.1-29.2,65.1-65.1C239.5,137.6,210.3,108.4,174.4,108.4z
M174.4,226c-28.9,0-52.4-23.5-52.4-52.4c0-1.8,0.1-3.6,0.3-5.4c2.5-24.2,21.6-43.6,45.7-46.6c2.1-0.3,4.3-0.4,6.5-0.4
c28.9,0,52.4,23.5,52.4,52.4C226.9,202.4,203.3,226,174.4,226z"/>
<path class="st0" d="M174.4,126.5c-3.2,0-6.2,0.3-9.2,0.9c-18.9,3.8-33.7,18.9-37.1,37.9c-0.5,2.7-0.8,5.4-0.8,8.2
c0,26,21.1,47.1,47.1,47.1s47.1-21.1,47.1-47.1S200.4,126.5,174.4,126.5z M192.6,184c0,4.2-3.4,7.6-7.6,7.6h-21
c-4.2,0-7.6-3.4-7.6-7.6v-21c0-4.2,3.4-7.6,7.6-7.6h21c4.2,0,7.6,3.4,7.6,7.6V184z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,153 @@
{
"label": "Compétences",
"mapping": {
"description": "system.description",
"book_reference": "system.book_reference"
},
"entries": [
{
"id": "Composition",
"name": "Composition",
"description": "",
"book_reference": "Livre de Règles p.146"
},
{
"id": "Aesthetics",
"name": "Esthétique",
"description": "",
"book_reference": "Livre de Règles p.146"
},
{
"id": "Smithing",
"name": "Forge",
"description": "",
"book_reference": "Livre de Règles p.149"
},
{
"id": "Design",
"name": "Stylisme",
"description": "",
"book_reference": "Livre de Règles p.147"
},
{
"id": "Martial Arts [Melee]",
"name": "Arts martiaux (corps à corps)",
"description": "",
"book_reference": "Livre de Règles p.162"
},
{
"id": "Martial Arts [Ranged]",
"name": "Arts martiaux (distance)",
"description": "",
"book_reference": "Livre de Règles p.163"
},
{
"id": "Martial Arts [Unarmed]",
"name": "Arts martiaux (mains nues)",
"description": "",
"book_reference": "Livre de Règles p.164"
},
{
"id": "Fitness",
"name": "Forme",
"description": "",
"book_reference": "Livre de Règles p.162"
},
{
"id": "Meditation",
"name": "Méditation",
"description": "",
"book_reference": "Livre de Règles p.164"
},
{
"id": "Tactics",
"name": "Tactique",
"description": "",
"book_reference": "Livre de Règles p.165"
},
{
"id": "Commerce",
"name": "Commerce",
"description": "",
"book_reference": "Livre de Règles p.167"
},
{
"id": "Skulduggery",
"name": "Magouilles",
"description": "",
"book_reference": "Livre de Règles p.168"
},
{
"id": "Seafaring",
"name": "Navigation",
"description": "",
"book_reference": "Livre de Règles p.168"
},
{
"id": "Survival",
"name": "Survie",
"description": "",
"book_reference": "Livre de Règles p.169"
},
{
"id": "Labor",
"name": "Travail manuel",
"description": "",
"book_reference": "Livre de Règles p.167"
},
{
"id": "Culture",
"name": "Culture",
"description": "",
"book_reference": "Livre de Règles p.156"
},
{
"id": "Government",
"name": "Gouvernement",
"description": "",
"book_reference": "Livre de Règles p.156"
},
{
"id": "Medicine",
"name": "Médecine",
"description": "",
"book_reference": "Livre de Règles p.157"
},
{
"id": "Sentiment",
"name": "Sentiments",
"description": "",
"book_reference": "Livre de Règles p.158"
},
{
"id": "Theology",
"name": "Théologie",
"description": "",
"book_reference": "Livre de Règles p.158"
},
{
"id": "Command",
"name": "Commandement",
"description": "",
"book_reference": "Livre de Règles p.151"
},
{
"id": "Courtesy",
"name": "Courtoisie",
"description": "",
"book_reference": "Livre de Règles p.152"
},
{
"id": "Games",
"name": "Jeux",
"description": "",
"book_reference": "Livre de Règles p.153"
},
{
"id": "Performance",
"name": "Représentations",
"description": "",
"book_reference": "Livre de Règles p.154"
}
]
}

View File

@@ -25,6 +25,7 @@
"TypeArmy": "Army" "TypeArmy": "Army"
}, },
"ITEM": { "ITEM": {
"TypeSkill": "Skill",
"TypeItem": "Item", "TypeItem": "Item",
"TypeArmor": "Armor", "TypeArmor": "Armor",
"TypeWeapon": "Weapon", "TypeWeapon": "Weapon",
@@ -277,6 +278,7 @@
"skills": { "skills": {
"title": "Skills", "title": "Skills",
"label": "Skill", "label": "Skill",
"category": "Category",
"artisan": { "artisan": {
"title": "Artisan", "title": "Artisan",
"aesthetics": "Aesthetics", "aesthetics": "Aesthetics",

View File

@@ -277,6 +277,7 @@
"skills": { "skills": {
"title": "Habilidades", "title": "Habilidades",
"label": "Habilidad", "label": "Habilidad",
"category": "Categoría",
"artisan": { "artisan": {
"title": "Artesanales", "title": "Artesanales",
"aesthetics": "Estética", "aesthetics": "Estética",

View File

@@ -25,6 +25,7 @@
"TypeArmy": "Armée" "TypeArmy": "Armée"
}, },
"ITEM": { "ITEM": {
"TypeSkill": "Compétence",
"TypeItem": "Objet", "TypeItem": "Objet",
"TypeArmor": "Armure", "TypeArmor": "Armure",
"TypeWeapon": "Arme", "TypeWeapon": "Arme",
@@ -277,6 +278,7 @@
"skills": { "skills": {
"title": "Compétences", "title": "Compétences",
"label": "Compétence", "label": "Compétence",
"category": "Catégorie",
"artisan": { "artisan": {
"title": "Artisanales", "title": "Artisanales",
"aesthetics": "Esthétique", "aesthetics": "Esthétique",

View File

@@ -277,6 +277,7 @@
"skills": { "skills": {
"title": "Abilità", "title": "Abilità",
"label": "Abilità", "label": "Abilità",
"category": "Categoria",
"artisan": { "artisan": {
"title": "Artigiane", "title": "Artigiane",
"aesthetics": "Estetica", "aesthetics": "Estetica",

View File

@@ -0,0 +1,24 @@
{"_id":"L5RCoreSkl000001","name":"Composition","permission":{"default":0},"type":"skill","data":{"category":"artisan","description":"","book_reference":"Core Rulebook p.146","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000002","name":"Aesthetics","permission":{"default":0},"type":"skill","data":{"category":"artisan","description":"","book_reference":"Core Rulebook p.146","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000003","name":"Smithing","permission":{"default":0},"type":"skill","data":{"category":"artisan","description":"","book_reference":"Core Rulebook p.149","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000004","name":"Design","permission":{"default":0},"type":"skill","data":{"category":"artisan","description":"","book_reference":"Core Rulebook p.147","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000005","name":"Martial Arts [Melee]","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.162","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000006","name":"Martial Arts [Ranged]","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.163","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000007","name":"Martial Arts [Unarmed]","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.164","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000008","name":"Fitness","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.162","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000009","name":"Meditation","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.164","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000010","name":"Tactics","permission":{"default":0},"type":"skill","data":{"category":"martial","description":"","book_reference":"Core Rulebook p.165","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000011","name":"Commerce","permission":{"default":0},"type":"skill","data":{"category":"trade","description":"","book_reference":"Core Rulebook p.167","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000012","name":"Skulduggery","permission":{"default":0},"type":"skill","data":{"category":"trade","description":"","book_reference":"Core Rulebook p.168","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000013","name":"Seafaring","permission":{"default":0},"type":"skill","data":{"category":"trade","description":"","book_reference":"Core Rulebook p.168","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000014","name":"Survival","permission":{"default":0},"type":"skill","data":{"category":"trade","description":"","book_reference":"Core Rulebook p.169","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000015","name":"Labor","permission":{"default":0},"type":"skill","data":{"category":"trade","description":"","book_reference":"Core Rulebook p.167","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000016","name":"Culture","permission":{"default":0},"type":"skill","data":{"category":"scholar","description":"","book_reference":"Core Rulebook p.156","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000017","name":"Government","permission":{"default":0},"type":"skill","data":{"category":"scholar","description":"","book_reference":"Core Rulebook p.156","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000018","name":"Medicine","permission":{"default":0},"type":"skill","data":{"category":"scholar","description":"","book_reference":"Core Rulebook p.157","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000019","name":"Sentiment","permission":{"default":0},"type":"skill","data":{"category":"scholar","description":"","book_reference":"Core Rulebook p.158","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000020","name":"Theology","permission":{"default":0},"type":"skill","data":{"category":"scholar","description":"","book_reference":"Core Rulebook p.158","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000021","name":"Command","permission":{"default":0},"type":"skill","data":{"category":"social","description":"","book_reference":"Core Rulebook p.151","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000022","name":"Courtesy","permission":{"default":0},"type":"skill","data":{"category":"social","description":"","book_reference":"Core Rulebook p.152","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000023","name":"Games","permission":{"default":0},"type":"skill","data":{"category":"social","description":"","book_reference":"Core Rulebook p.153","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}
{"_id":"L5RCoreSkl000024","name":"Performance","permission":{"default":0},"type":"skill","data":{"category":"social","description":"","book_reference":"Core Rulebook p.154","rank":0},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/skill.svg","effects":[]}

View File

@@ -6,6 +6,7 @@ export const L5R5E = {
money: [50, 10], money: [50, 10],
stances: ["earth", "air", "water", "fire", "void"], stances: ["earth", "air", "water", "fire", "void"],
roles: ["artisan", "bushi", "courtier", "monk", "sage", "shinobi", "shugenja"], roles: ["artisan", "bushi", "courtier", "monk", "sage", "shinobi", "shugenja"],
skillCategories: ["artisan", "martial", "scholar", "social", "trade"],
xp: { xp: {
costPerRank: [0, 20, 24, 32, 44, 60], costPerRank: [0, 20, 24, 32, 44, 60],
bondCostPerRank: [0, 3, 4, 6, 8, 10], bondCostPerRank: [0, 3, 4, 6, 8, 10],
@@ -45,6 +46,7 @@ L5R5E.techniques.set("title_ability", { type: "title", displayInTypes: false });
L5R5E.techniques.set("specificity", { type: "custom", displayInTypes: false }); L5R5E.techniques.set("specificity", { type: "custom", displayInTypes: false });
// *** SkillId - CategoryId *** // *** SkillId - CategoryId ***
// TODO @deprecated hardcoded skills
L5R5E.skills = new Map(); L5R5E.skills = new Map();
L5R5E.skills.set("aesthetics", "artisan"); L5R5E.skills.set("aesthetics", "artisan");
L5R5E.skills.set("composition", "artisan"); L5R5E.skills.set("composition", "artisan");

View File

@@ -21,6 +21,8 @@ export class HelpersL5r5e {
* @return {{cat: any, id: any, label: *}[]} * @return {{cat: any, id: any, label: *}[]}
*/ */
static getSkillsList(useGroup = false) { static getSkillsList(useGroup = false) {
console.warn('@deprecated hardcoded skills - helpers.getSkillsList()'); // TODO @deprecated hardcoded skills
if (!useGroup) { if (!useGroup) {
return Array.from(CONFIG.l5r5e.skills).map(([id, cat]) => ({ return Array.from(CONFIG.l5r5e.skills).map(([id, cat]) => ({
id: id, id: id,
@@ -48,6 +50,8 @@ export class HelpersL5r5e {
* @return {Map} * @return {Map}
*/ */
static getCategoriesSkillsList() { static getCategoriesSkillsList() {
console.warn('@deprecated hardcoded skills - helpers.getCategoriesSkillsList()'); // TODO @deprecated hardcoded skills
return Array.from(CONFIG.l5r5e.skills).reduce((acc, [id, cat]) => { return Array.from(CONFIG.l5r5e.skills).reduce((acc, [id, cat]) => {
if (acc.has(cat)) { if (acc.has(cat)) {
acc.set(cat, [...acc.get(cat), id]); acc.set(cat, [...acc.get(cat), id]);
@@ -297,6 +301,8 @@ export class HelpersL5r5e {
static getPackNameForCoreItem(documentId) { static getPackNameForCoreItem(documentId) {
const core = new Map(); const core = new Map();
core.set("Skl", "l5r5e.core-skills");
core.set("Arm", "l5r5e.core-armors"); core.set("Arm", "l5r5e.core-armors");
core.set("Bon", "l5r5e.core-bonds"); core.set("Bon", "l5r5e.core-bonds");
core.set("Boo", "l5r5e.core-celestial-implement-boons"); core.set("Boo", "l5r5e.core-celestial-implement-boons");

View File

@@ -0,0 +1,30 @@
import { ItemSheetL5r5e } from "./item-sheet.js";
/**
* @extends {ItemSheet}
*/
export class SkillSheetL5r5e extends ItemSheetL5r5e {
/** @override */
static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["l5r5e", "sheet", "skill"],
template: CONFIG.l5r5e.paths.templates + "items/skill/skill-sheet.html",
width: 520,
height: 480,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
});
}
/**
* @return {Object|Promise}
*/
async getData(options = {}) {
const sheetData = await super.getData(options);
sheetData.data.SkillCategoriesList = CONFIG.l5r5e.skillCategories;
console.log(sheetData.data.system);
return sheetData;
}
}

View File

@@ -23,6 +23,7 @@ import { CombatL5r5e } from "./combat.js";
// Items // Items
import { ItemL5r5e } from "./item.js"; import { ItemL5r5e } from "./item.js";
import { ItemSheetL5r5e } from "./items/item-sheet.js"; import { ItemSheetL5r5e } from "./items/item-sheet.js";
import { SkillSheetL5r5e } from "./items/skill-sheet.js";
import { ArmorSheetL5r5e } from "./items/armor-sheet.js"; import { ArmorSheetL5r5e } from "./items/armor-sheet.js";
import { WeaponSheetL5r5e } from "./items/weapon-sheet.js"; import { WeaponSheetL5r5e } from "./items/weapon-sheet.js";
import { TechniqueSheetL5r5e } from "./items/technique-sheet.js"; import { TechniqueSheetL5r5e } from "./items/technique-sheet.js";
@@ -132,6 +133,11 @@ Hooks.once("init", async () => {
label: "ITEM.TypeItem", label: "ITEM.TypeItem",
makeDefault: true, makeDefault: true,
}); });
Items.registerSheet("l5r5e", SkillSheetL5r5e, {
types: ["skill"],
label: "ITEM.TypeSkill",
makeDefault: true,
});
Items.registerSheet("l5r5e", ArmorSheetL5r5e, { Items.registerSheet("l5r5e", ArmorSheetL5r5e, {
types: ["armor"], types: ["armor"],
label: "ITEM.TypeArmor", label: "ITEM.TypeArmor",

View File

@@ -57,6 +57,9 @@ export const PreloadTemplates = async function () {
`${tpl}items/property/properties.html`, `${tpl}items/property/properties.html`,
`${tpl}items/property/property-entry.html`, `${tpl}items/property/property-entry.html`,
`${tpl}items/property/property-sheet.html`, `${tpl}items/property/property-sheet.html`,
`${tpl}items/skill/skill-entry.html`,
`${tpl}items/skill/skill-sheet.html`,
`${tpl}items/skill/skill-text.html`,
`${tpl}items/signature-scroll/signature-scroll-entry.html`, `${tpl}items/signature-scroll/signature-scroll-entry.html`,
`${tpl}items/signature-scroll/signature-scroll-sheet.html`, `${tpl}items/signature-scroll/signature-scroll-sheet.html`,
`${tpl}items/signature-scroll/signature-scroll-text.html`, `${tpl}items/signature-scroll/signature-scroll-text.html`,

File diff suppressed because one or more lines are too long

View File

@@ -110,6 +110,7 @@
&.peculiarity, &.peculiarity,
&.property, &.property,
&.signature-scroll, &.signature-scroll,
&.skill,
&.technique, &.technique,
&.title, &.title,
&.weapon { &.weapon {
@@ -356,6 +357,16 @@
} }
} }
} }
&.skill {
article {
&.attributes {
height: 4rem;
}
&.infos {
height: calc(100% - 5rem);
}
}
}
&.weapon { &.weapon {
article { article {
&.attributes { &.attributes {

View File

@@ -7,8 +7,8 @@
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md", "changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md", "license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json", "manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json",
"download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.9.4/raw/l5r5e.zip?job=build", "download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v2.0.0/raw/l5r5e.zip?job=build",
"version": "1.9.4", "version": "2.0.0",
"compatibility": { "compatibility": {
"minimum": 10, "minimum": 10,
"verified": "10.291" "verified": "10.291"
@@ -36,6 +36,13 @@
"esmodules": ["./scripts/main-l5r5e.js"], "esmodules": ["./scripts/main-l5r5e.js"],
"styles": ["./styles/l5r5e.css"], "styles": ["./styles/l5r5e.css"],
"packs": [ "packs": [
{
"name": "core-skills",
"label": "Skills",
"path": "packs/core-skills.db",
"type": "Item",
"system": "l5r5e"
},
{ {
"name": "core-properties", "name": "core-properties",
"label": "Properties", "label": "Properties",

View File

@@ -194,7 +194,8 @@
"signature_scroll", "signature_scroll",
"item_pattern", "item_pattern",
"army_cohort", "army_cohort",
"army_fortification" "army_fortification",
"skill"
], ],
"templates": { "templates": {
"basics": { "basics": {
@@ -220,6 +221,11 @@
"properties": [] "properties": []
} }
}, },
"skill": {
"templates": ["basics"],
"category": "artisan",
"rank": 0
},
"item": { "item": {
"templates": ["basics", "item"] "templates": ["basics", "item"]
}, },

View File

@@ -0,0 +1,10 @@
<li class="item skill flexcol" data-item-id="{{skill.id}}">
<ul class="item-header skill-controls">
<li class="item-img"><img src="{{skill.img}}" title="{{skill.name}}" width="32px" height="32px"/></li>
<li class="item-name l5r5e-tooltip" data-item-id="{{skill.id}}">{{skill.name}}</li>
{{#if editable}}
<li data-item-id="{{skill.id}}" class="item-control item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li data-item-id="{{skill.id}}" class="item-control item-delete" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
</li>

View File

@@ -0,0 +1,27 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/>
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Attributes Tab --}}
<article class="attributes" data-group="primary" data-tab="attributes">
<label class="attribute">
{{localize 'l5r5e.skills.category'}}
<select name="system.category">
{{#select data.system.category}}
{{#each data.SkillCategoriesList as |id|}}
<option value="{{id}}">{{localizeSkill id 'title'}}</option>
{{/each}}
{{/select}}
</select>
</label>
<label class="attribute">
{{localize 'l5r5e.sheets.rank'}}
<input class="select-on-focus" type="number" name="system.rank" value="{{data.system.rank}}" data-dtype="Number" min="0" placeholder="0"/>
</label>
</article>
{{> 'systems/l5r5e/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -0,0 +1,18 @@
<div class="{{cssClass}}" data-actor-id="{{actor._id}}" data-item-id="{{data._id}}">
<header class="card-header">
<h2 class="item-name"><img src="{{data.img}}" title="{{data.name}}" /> {{data.name}}</h2>
</header>
<section class="sheet-body">
<ul>
<li>
<strong>{{localize 'l5r5e.skills.category'}}</strong> : {{data.system.category}}
</li>
<li>
<strong>{{localize 'l5r5e.sheets.rank'}}</strong> : {{data.system.rank}}
</li>
</ul>
{{!--item-infos--}}
<p><strong>{{localize 'l5r5e.sheets.description'}}</strong> : {{{data.enrichedHtml.description}}}</p>
<p><strong>{{localize 'l5r5e.sheets.book_reference'}}</strong> : {{data.system.book_reference}}</p>
</section>
</div>