Properties from pack

Editable functionalities (hide icons)
Merge of edit/add/delete items hooks
This commit is contained in:
Vlyan
2020-12-24 15:51:52 +01:00
parent 3c79556152
commit 0f1afcf740
24 changed files with 230 additions and 82 deletions

View File

@@ -94,6 +94,7 @@
"properties": "Properties", "properties": "Properties",
"weapons": { "weapons": {
"title": "Weapons", "title": "Weapons",
"title_new": "New Weapon",
"damage": "Damage", "damage": "Damage",
"range": "Range", "range": "Range",
"stats": "Stats", "stats": "Stats",
@@ -105,17 +106,21 @@
}, },
"armors": { "armors": {
"title": "Armors", "title": "Armors",
"title_new": "New Armor",
"type": "Defence", "type": "Defence",
"physical": "physical", "physical": "physical",
"supernatural": "supernatural", "supernatural": "supernatural",
"equipped": "Equipped" "equipped": "Equipped"
}, },
"items": "Items", "items": {
"title": "Items",
"title_new": "New Item"
},
"feats": "Feats", "feats": "Feats",
"techniques": { "techniques": {
"title": "Techniques", "title": "Techniques",
"type": "Type accessible",
"title_new": "New Technique", "title_new": "New Technique",
"type": "Type accessible",
"kata": "Kata", "kata": "Kata",
"kiho": "Kihõ", "kiho": "Kihõ",
"invocation": "Invocation", "invocation": "Invocation",
@@ -124,6 +129,9 @@
"maho": "Mahõ", "maho": "Mahõ",
"ninjutsu": "Ninjutsu" "ninjutsu": "Ninjutsu"
}, },
"peculiarities": {
"title_new": "Nouvelle particularité"
},
"skill": "Skill", "skill": "Skill",
"level": "Level", "level": "Level",
"approaches": "Approaches", "approaches": "Approaches",

View File

@@ -94,6 +94,7 @@
"properties": "Propiedades", "properties": "Propiedades",
"weapons": { "weapons": {
"title": "Armas", "title": "Armas",
"title_new": "New Weapon",
"damage": "Daño", "damage": "Daño",
"range": "Rango", "range": "Rango",
"stats": "Stats", "stats": "Stats",
@@ -105,12 +106,16 @@
}, },
"armors": { "armors": {
"title": "Armors", "title": "Armors",
"title_new": "New Armor",
"type": "Defensa", "type": "Defensa",
"physical": "physical", "physical": "physical",
"supernatural": "supernatural", "supernatural": "supernatural",
"equipped": "Equipped" "equipped": "Equipped"
}, },
"items": "Equipo", "items": {
"title": "Equipo",
"title_new": "New Item"
},
"feats": "Feats", "feats": "Feats",
"techniques": { "techniques": {
"title": "Techniques", "title": "Techniques",
@@ -124,6 +129,9 @@
"maho": "Mahõ", "maho": "Mahõ",
"ninjutsu": "Ninjutsu" "ninjutsu": "Ninjutsu"
}, },
"peculiarities": {
"title_new": "Nouvelle particularité"
},
"skill": "Habilidad", "skill": "Habilidad",
"level": "Nivel", "level": "Nivel",
"approaches": "Planteamientos", "approaches": "Planteamientos",

View File

@@ -94,6 +94,7 @@
"properties": "Propriétés", "properties": "Propriétés",
"weapons": { "weapons": {
"title": "Armement", "title": "Armement",
"title_new": "Nouvelle Arme",
"damage": "Dégâts de base (DDB)", "damage": "Dégâts de base (DDB)",
"range": "Portée (PRT)", "range": "Portée (PRT)",
"stats": "Attributs", "stats": "Attributs",
@@ -105,17 +106,21 @@
}, },
"armors": { "armors": {
"title": "Armures", "title": "Armures",
"title_new": "Nouvelle Armure",
"type": "Défense", "type": "Défense",
"physical": "Physique", "physical": "Physique",
"supernatural": "Spirituelle", "supernatural": "Spirituelle",
"equipped": "Équipé" "equipped": "Équipé"
}, },
"items": "Objets", "items": {
"title": "Objets",
"title_new": "Nouvel Objet"
},
"feats": "Prouesses", "feats": "Prouesses",
"techniques": { "techniques": {
"title": "Techniques", "title": "Techniques",
"type": "Type accessible",
"title_new": "Nouvelle Technique", "title_new": "Nouvelle Technique",
"type": "Type accessible",
"kata": "Kata", "kata": "Kata",
"kiho": "Kihõ", "kiho": "Kihõ",
"invocation": "Invocation", "invocation": "Invocation",
@@ -124,6 +129,9 @@
"maho": "Mahõ", "maho": "Mahõ",
"ninjutsu": "Ninjutsu" "ninjutsu": "Ninjutsu"
}, },
"peculiarities": {
"title_new": "Nouvelle particularité"
},
"skill": "Compétence", "skill": "Compétence",
"level": "Niveau", "level": "Niveau",
"approaches": "Approches", "approaches": "Approches",

View File

@@ -0,0 +1,9 @@
{"_id":"L5RCoreArm000000","name":"Ashigaru Armor","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"3","rarity":"0","zeni":"5 koku","properties":[{"id":"L5RCorePro000010","name":"Wargear"}],"armor":{"physical":"3","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000001","name":"Plated Armor","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"8","rarity":"0","zeni":"40 koku","properties":[{"id":"L5RCorePro000005","name":"Cumbersome"},{"id":"L5RCorePro000014","name":" Durable"},{"id":"L5RCorePro000010","name":" Wargear"}],"armor":{"physical":"5","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000002","name":"Concealed Armor","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"4","rarity":"0","zeni":"5 koku","properties":[{"id":"L5RCorePro000004","name":"Concealable"}],"armor":{"physical":"2","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000003","name":"Lacquered Armor","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"6","rarity":"0","zeni":"25 koku","properties":[{"id":"L5RCorePro000001","name":"Ceremonial"},{"id":"L5RCorePro000005","name":" Cumbersome"},{"id":"L5RCorePro000010","name":" Wargear"}],"armor":{"physical":"4","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000004","name":"Ceremonial Clothes","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"4","rarity":"0","zeni":"1 koku","properties":[{"id":"L5RCorePro000001","name":"Ceremonial"},{"id":"L5RCorePro000009","name":" Resplendent"}],"armor":{"physical":"1","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000005","name":"Traveling Clothes","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"2","rarity":"0","zeni":"2 bu","properties":[{"id":"L5RCorePro000014","name":"Durable"},{"id":"L5RCorePro000011","name":" Mundane"},{"id":"L5RCorePro000015","name":" Subtle"}],"armor":{"physical":"2","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000006","name":"Sanctified Robes","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"7","rarity":"0","zeni":"4 koku","properties":[{"id":"L5RCorePro000001","name":"Ceremonial"}],"armor":{"physical":"1","supernatural":"3"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000007","name":"Sleeping Garb","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"2","rarity":"0","zeni":"1 koku","properties":[],"armor":{"physical":"-","supernatural":""},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}
{"_id":"L5RCoreArm000008","name":"Common Clothes","permission":{"default":0},"type":"armor","data":{"equipped":false,"quantity":1,"weight":"1","rarity":"0","zeni":"1 bu","properties":[{"id":"L5RCorePro000011","name":"Mundane"}],"armor":{"physical":"1","supernatural":"-"},"description":"","book_reference":"Core p.239"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/armor.svg","effects":[]}

View File

@@ -0,0 +1,16 @@
{"_id":"L5RCorePro000000","name":"Razor-Edged","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000001","name":"Ceremonial","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000002","name":"Damaged","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000003","name":"Destroyed","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000004","name":"Concealable","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000005","name":"Cumbersome","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000006","name":"Snaring","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000007","name":"Unholy","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000008","name":"Forbidden","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000009","name":"Resplendent","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000010","name":"Wargear","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000011","name":"Mundane","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000012","name":"Prepare","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000013","name":"Sacred","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000014","name":"Durable","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.240"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}
{"_id":"L5RCorePro000015","name":"Subtle","permission":{"default":0},"type":"property","data":{"description":"","book_reference":"Core p.241"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/property.svg","effects":[]}

View File

@@ -94,34 +94,18 @@ export class BaseSheetL5r5e extends ActorSheet {
// tgt.hasClass('toggle-active') ? tgt.removeClass('toggle-active') : tgt.addClass('toggle-active'); // tgt.hasClass('toggle-active') ? tgt.removeClass('toggle-active') : tgt.addClass('toggle-active');
// }); // });
// *** Items : edit, delete *** // *** Items : add, edit, delete, curriculum ***
["item", "peculiarity", "technique", "advancement"].forEach((type) => { html.find(".item-add").on("click", (event) => {
html.find(`.${type}-edit`).on("click", (event) => { this._addSubItem(event);
this._editSubItem(event, type);
});
html.find(`.${type}-delete`).on("click", (event) => {
this._deleteSubItem(event, type);
});
if (type !== "item") {
html.find(`.${type}-curriculum`).on("click", (event) => {
this._switchSubItemCurriculum(event, type);
});
}
}); });
html.find(`.item-edit`).on("click", (event) => {
// *** Items : add *** this._editSubItem(event);
html.find(".technique-add").on("click", (event) => {
this._addSubItem({
name: game.i18n.localize("l5r5e.techniques.title_new"),
type: "technique",
});
}); });
html.find(".advancement-add").on("click", (event) => { html.find(`.item-delete`).on("click", (event) => {
this._addSubItem({ this._deleteSubItem(event);
name: game.i18n.localize("l5r5e.advancements.title_new"), });
type: "advancement", html.find(`.item-curriculum`).on("click", (event) => {
}); this._switchSubItemCurriculum(event);
}); });
} }
@@ -129,20 +113,30 @@ export class BaseSheetL5r5e extends ActorSheet {
* Add a generic item with sub type * Add a generic item with sub type
* @private * @private
*/ */
async _addSubItem(data) { async _addSubItem(event) {
const created = await this.actor.createEmbeddedEntity("OwnedItem", data); const type = $(event.currentTarget).data("item-type");
const titles = {
item: "l5r5e.items.title_new",
armor: "l5r5e.armors.title_new",
weapon: "l5r5e.weapons.title_new",
technique: "l5r5e.techniques.title_new",
peculiarity: "l5r5e.peculiarities.title_new",
advancement: "l5r5e.advancements.title_new",
};
const created = await this.actor.createEmbeddedEntity("OwnedItem", {
name: game.i18n.localize(titles[type]),
type: type,
});
const item = this.actor.getOwnedItem(created._id); const item = this.actor.getOwnedItem(created._id);
item.sheet.render(true); item.sheet.render(true);
return item;
} }
/** /**
* Edit a generic item with sub type * Edit a generic item with sub type
* @private * @private
*/ */
async _editSubItem(event, type) { _editSubItem(event) {
const li = $(event.currentTarget).parents("." + type); const itemId = $(event.currentTarget).data("item-id");
const itemId = li.data(type + "Id");
const item = this.actor.getOwnedItem(itemId); const item = this.actor.getOwnedItem(itemId);
item.sheet.render(true); item.sheet.render(true);
} }
@@ -151,23 +145,24 @@ export class BaseSheetL5r5e extends ActorSheet {
* Delete a generic item with sub type * Delete a generic item with sub type
* @private * @private
*/ */
async _deleteSubItem(event, type) { _deleteSubItem(event, type) {
const li = $(event.currentTarget).parents("." + type); const itemId = $(event.currentTarget).data("item-id");
return this.actor.deleteOwnedItem(li.data(type + "Id")); return this.actor.deleteOwnedItem(itemId);
} }
/** /**
* Switch "in_curriculum" * Switch "in_curriculum"
* @private * @private
*/ */
_switchSubItemCurriculum(event, type) { _switchSubItemCurriculum(event) {
const li = $(event.currentTarget).parents("." + type); const itemId = $(event.currentTarget).data("item-id");
const itemId = li.data(type + "Id");
const item = this.actor.getOwnedItem(itemId); const item = this.actor.getOwnedItem(itemId);
return item.update({ if (item.type !== "item") {
data: { item.update({
in_curriculum: !item.data.data.in_curriculum, data: {
}, in_curriculum: !item.data.data.in_curriculum,
}); },
});
}
} }
} }

View File

@@ -1,5 +1,14 @@
export const L5R5E = {}; export const L5R5E = {};
L5R5E.packsIds = {
properties: {
core: "l5r5e.core-properties",
},
techniques: {
core: "l5r5e.core-techniques",
},
};
L5R5E.paths = { L5R5E.paths = {
assets: `systems/l5r5e/assets/`, assets: `systems/l5r5e/assets/`,
templates: `systems/l5r5e/templates/`, templates: `systems/l5r5e/templates/`,

View File

@@ -44,7 +44,7 @@ export class ItemSheetL5r5e extends ItemSheet {
props.push({ id: property.id, name: item.name }); props.push({ id: property.id, name: item.name });
} else { } else {
// Pack item // Pack item
item = await game.packs.get("l5r5e.Properties").getEntry(property.id); item = await game.packs.get(CONFIG.l5r5e.packsIds.properties.core).getEntry(property.id);
if (item) { if (item) {
sheetData.data.propertiesList.push(item); sheetData.data.propertiesList.push(item);
props.push({ id: item._id, name: item.name }); props.push({ id: item._id, name: item.name });

View File

@@ -11,6 +11,60 @@
"esmodules": ["./scripts/main-l5r5e.js"], "esmodules": ["./scripts/main-l5r5e.js"],
"styles": ["./styles/l5r5e.css"], "styles": ["./styles/l5r5e.css"],
"packs": [ "packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-property.db",
"entity": "Item"
},
{
"name": "core-techniques",
"label": "Techniques",
"path": "packs/core-technique.db",
"entity": "Item"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-item.db",
"entity": "Item"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armor.db",
"entity": "Item"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapon.db",
"entity": "Item"
},
{
"name": "core-distinctions",
"label": "Distinctions",
"path": "packs/core-distinction.db",
"entity": "Item"
},
{
"name": "core-passions",
"label": "Passions",
"path": "packs/core-passion.db",
"entity": "Item"
},
{
"name": "core-adversities",
"label": "Adversities",
"path": "packs/core-adversity.db",
"entity": "Item"
},
{
"name": "core-anxieties",
"label": "Anxieties",
"path": "packs/core-anxiety.db",
"entity": "Item"
},
{ {
"name": "macros", "name": "macros",
"label": "L5R5e Macros", "label": "L5R5e Macros",

View File

@@ -1,12 +1,14 @@
<tr class="flexrow row advancement" data-advancement-id="{{advancement._id}}"> <tr class="flexrow row advancement">
<td class="name" name="advancement.name">{{#if advancement.data.in_curriculum}}<i class="fas fa-graduation-cap"></i> {{/if}}{{ advancement.name }}</td> <td class="name" name="advancement.name">{{#if advancement.data.in_curriculum}}<i class="fas fa-graduation-cap"></i> {{/if}}{{ advancement.name }}</td>
<td class="xp" name="advancement.xp">{{ advancement.data.xp_used }}</td> <td class="xp" name="advancement.xp">{{ advancement.data.xp_used }}</td>
<td class="rank" name="advancement.rank">{{ advancement.data.rank }}</td> <td class="rank" name="advancement.rank">{{ advancement.data.rank }}</td>
{{#if editable}}
<td class="actions"> <td class="actions">
<ul> <ul>
<li class="item-control advancement-curriculum" title="{{localize 'l5r5e.global.curriculum'}}"><i class="fas fa-graduation-cap"></i></li> <li data-item-id="{{advancement._id}}" class="item-control item-curriculum" title="{{localize 'l5r5e.global.curriculum'}}"><i class="fas fa-graduation-cap"></i></li>
<li class="item-control advancement-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li> <li data-item-id="{{advancement._id}}" class="item-control item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-control advancement-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li> <li data-item-id="{{advancement._id}}" class="item-control item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
</ul> </ul>
</td> </td>
{{/if}}
</tr> </tr>

View File

@@ -19,20 +19,22 @@
</label> </label>
</fieldset> </fieldset>
<fieldset class="advancement"> <fieldset class="advancement">
<legend class="tools">{{ localize 'l5r5e.advancements.title'}} <a class="advancement-control advancement-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a></legend> <legend class="tools">{{ localize 'l5r5e.advancements.title'}} <a data-item-type="advancement" class="advancement-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a></legend>
<table> <table>
<thead class="flex"> <thead class="flex">
<tr class="flexrow row"> <tr class="flexrow row">
<th class="name">{{ localize 'l5r5e.name' }}</th> <th class="name">{{ localize 'l5r5e.name' }}</th>
<th class="xp">{{ localize 'l5r5e.advancements.spent' }}</th> <th class="xp">{{ localize 'l5r5e.advancements.spent' }}</th>
<th class="rank">{{ localize 'l5r5e.rank' }}</th> <th class="rank">{{ localize 'l5r5e.rank' }}</th>
{{#if editable}}
<th class="actions"></th> <th class="actions"></th>
{{/if}}
</tr> </tr>
</thead> </thead>
<tbody class="flex"> <tbody class="flex">
{{#each actor.items as |advancement advancementId|}} {{#each actor.items as |advancement advancementId|}}
{{#ifCond '["peculiarity", "technique","advancement"]' 'includes' advancement.type}} {{#ifCond '["peculiarity", "technique","advancement"]' 'includes' advancement.type}}
{{> 'systems/l5r5e/templates/actors/character/advancement.html' advancement=advancement }} {{> 'systems/l5r5e/templates/actors/character/advancement.html' advancement=advancement editable=../editable }}
{{/ifCond}} {{/ifCond}}
{{/each}} {{/each}}
</tbody> </tbody>

View File

@@ -13,7 +13,12 @@
</li> </li>
<li> <li>
<fieldset> <fieldset>
<legend class="text-block-header">{{ localize 'l5r5e.social.advantages' }}</legend> <legend class="text-block-header">
{{ localize 'l5r5e.social.advantages' }}
{{#if editable}}
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}} {{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}}
@@ -25,7 +30,12 @@
</li> </li>
<li> <li>
<fieldset> <fieldset>
<legend class="text-block-header">{{ localize 'l5r5e.social.disadvantages' }}</legend> <legend class="text-block-header">
{{ localize 'l5r5e.social.disadvantages' }}
{{#if editable}}
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}} {{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}}

View File

@@ -13,7 +13,9 @@
<fieldset class="section-header flexrow"> <fieldset class="section-header flexrow">
<legend class="technique-controls"> <legend class="technique-controls">
{{ localize 'l5r5e.techniques.title' }} {{ localize 'l5r5e.techniques.title' }}
<a class="technique-control technique-add" title="{{ localize 'l5r5e.global.add' }}"><i class="fas fa-plus"></i></a> {{#if editable}}
<a data-item-type="technique" class="technique-control item-add" title="{{ localize 'l5r5e.global.add' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend> </legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}

View File

@@ -1,5 +1,10 @@
<fieldset class="narrative-content"> <fieldset class="narrative-content">
<legend class="text-block-header">{{ localize 'l5r5e.social.advantages' }}</legend> <legend class="text-block-header">
{{ localize 'l5r5e.social.advantages' }}
{{#if editable}}
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}} {{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}}
@@ -9,7 +14,12 @@
</ul> </ul>
</fieldset> </fieldset>
<fieldset class="narrative-content"> <fieldset class="narrative-content">
<legend class="text-block-header">{{ localize 'l5r5e.social.disadvantages' }}</legend> <legend class="text-block-header">
{{ localize 'l5r5e.social.disadvantages' }}
{{#if editable}}
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}} {{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}}

View File

@@ -2,7 +2,7 @@
<fieldset class="section-header flexrow"> <fieldset class="section-header flexrow">
<legend class="technique-controls"> <legend class="technique-controls">
{{ localize 'l5r5e.techniques.title' }} {{ localize 'l5r5e.techniques.title' }}
<a class="technique-control technique-add" title="{{ localize 'l5r5e.global.add' }}"><i class="fas fa-plus"></i></a> <a data-item-type="technique" class="technique-control item-add" title="{{ localize 'l5r5e.global.add' }}"><i class="fas fa-plus"></i></a>
</legend> </legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}

View File

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

View File

@@ -1,4 +1,4 @@
<li class="item flexcol" data-item-id="{{item._id}}"> <li class="item flexcol">
<ul class="item-header item-control"> <ul class="item-header item-control">
<li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li> <li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ item.name }}</li> <li class="item-name">{{ item.name }}</li>
@@ -7,8 +7,8 @@
<i class="fas fa-bolt" title="{{ localize 'l5r5e.armors.type' }} {{ localize 'l5r5e.armors.supernatural' }}"> {{item.data.armor.supernatural}}</i> <i class="fas fa-bolt" title="{{ localize 'l5r5e.armors.type' }} {{ localize 'l5r5e.armors.supernatural' }}"> {{item.data.armor.supernatural}}</i>
</li> </li>
{{#if editable}} {{#if editable}}
<li class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li> <li data-item-id="{{item._id}}" class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li> <li data-item-id="{{item._id}}" class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}} {{/if}}
</ul> </ul>
<ul class="item-properties"> <ul class="item-properties">

View File

@@ -1,5 +1,10 @@
<fieldset class="armors-content"> <fieldset class="armors-content">
<legend class="section-header">{{ localize 'l5r5e.armors.title' }}</legend> <legend class="section-header">
{{ localize 'l5r5e.armors.title' }}
{{#if editable}}
<a data-item-type="armor" class="armor-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'armor'}} {{#ifCond item.type '==' 'armor'}}

View File

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

View File

@@ -1,5 +1,10 @@
<fieldset class="items-content"> <fieldset class="items-content">
<legend>{{ localize 'l5r5e.equipment' }}</legend> <legend>
{{ localize 'l5r5e.equipment' }}
{{#if editable}}
<a data-item-type="item" class="item-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'item'}} {{#ifCond item.type '==' 'item'}}

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
<li class="item flexcol" data-item-id="{{item._id}}"> <li class="item flexcol">
<ul class="item-header item-control"> <ul class="item-header item-control">
<li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li> <li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ item.name }}</li> <li class="item-name">{{ item.name }}</li>
@@ -8,8 +8,8 @@
<i class="fas fa-skull" title="{{ localize 'l5r5e.weapons.deadliness' }}"> {{item.data.deadliness}}</i> <i class="fas fa-skull" title="{{ localize 'l5r5e.weapons.deadliness' }}"> {{item.data.deadliness}}</i>
</li> </li>
{{#if editable}} {{#if editable}}
<li class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li> <li data-item-id="{{item._id}}" class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li> <li data-item-id="{{item._id}}" class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}} {{/if}}
</ul> </ul>
<ul class="item-properties"> <ul class="item-properties">

View File

@@ -1,5 +1,10 @@
<fieldset class="weapons-content"> <fieldset class="weapons-content">
<legend class="section-header">{{ localize 'l5r5e.weapons.title' }}</legend> <legend class="section-header">
{{ localize 'l5r5e.weapons.title' }}
{{#if editable}}
<a data-item-type="weapon" class="weapon-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list"> <ul class="item-list">
{{#each actor.items as |item id|}} {{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'weapon'}} {{#ifCond item.type '==' 'weapon'}}