Added cancelled properties in text for props and some fixes
This commit is contained in:
@@ -75,18 +75,22 @@ export class HelpersL5r5e {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const data = JSON.parse(json);
|
const data = JSON.parse(json);
|
||||||
|
if (!data) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return await HelpersL5r5e.getObjectGameOrPack(data);
|
return await HelpersL5r5e.getObjectGameOrPack(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the object from Game or Pack by his ID, or null if not found
|
* Return the object from Game or Pack by his ID, or null if not found
|
||||||
* @param {number} id
|
* @param {string} id
|
||||||
* @param {string} type
|
* @param {string} type Type (Item, JournalEntry...)
|
||||||
* @param {string|null} data
|
* @param {any[]|null} data Plain data
|
||||||
* @param {string|null} pack
|
* @param {string|null} pack Pack name
|
||||||
|
* @param {string|null} parentId Used to avoid an infinite loop in properties if set
|
||||||
* @return {Promise<null>}
|
* @return {Promise<null>}
|
||||||
*/
|
*/
|
||||||
static async getObjectGameOrPack({ id, type, data = null, pack = null }) {
|
static async getObjectGameOrPack({ id, type, data = null, pack = null, parentId = null }) {
|
||||||
let document = null;
|
let document = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -105,9 +109,9 @@ export class HelpersL5r5e {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pack) {
|
if (pack) {
|
||||||
const data = await game.packs.get(pack).getDocument(id);
|
const tmpData = await game.packs.get(pack).getDocument(id);
|
||||||
if (data) {
|
if (tmpData) {
|
||||||
document = HelpersL5r5e.createDocumentFromCompendium({ type, data });
|
document = HelpersL5r5e.createDocumentFromCompendium({ type, data: tmpData });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -126,9 +130,9 @@ export class HelpersL5r5e {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await comp.getDocument(id);
|
const tmpData = await comp.getDocument(id);
|
||||||
if (data) {
|
if (tmpData) {
|
||||||
document = HelpersL5r5e.createDocumentFromCompendium({ type, data });
|
document = HelpersL5r5e.createDocumentFromCompendium({ type, data: tmpData });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -141,13 +145,13 @@ export class HelpersL5r5e {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Care to infinite loop in properties
|
// Care to infinite loop in properties
|
||||||
if (document.type !== "property") {
|
if (!parentId) {
|
||||||
await HelpersL5r5e.refreshItemProperties(document);
|
await HelpersL5r5e.refreshItemProperties(document);
|
||||||
}
|
}
|
||||||
document.prepareData();
|
document.prepareData();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn(err);
|
console.warn("L5R5E | ", err);
|
||||||
}
|
}
|
||||||
return document;
|
return document;
|
||||||
}
|
}
|
||||||
@@ -195,7 +199,11 @@ export class HelpersL5r5e {
|
|||||||
if (document.data?.data?.properties && typeof Babele !== "undefined") {
|
if (document.data?.data?.properties && typeof Babele !== "undefined") {
|
||||||
document.data.data.properties = await Promise.all(
|
document.data.data.properties = await Promise.all(
|
||||||
document.data.data.properties.map(async (property) => {
|
document.data.data.properties.map(async (property) => {
|
||||||
const gameProp = await HelpersL5r5e.getObjectGameOrPack({ id: property.id, type: "Item" });
|
const gameProp = await HelpersL5r5e.getObjectGameOrPack({
|
||||||
|
id: property.id,
|
||||||
|
type: "Item",
|
||||||
|
parentId: document.data?._id || 1,
|
||||||
|
});
|
||||||
if (gameProp) {
|
if (gameProp) {
|
||||||
return { id: gameProp.id, name: gameProp.name };
|
return { id: gameProp.id, name: gameProp.name };
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
{{!-- Narrative Tab --}}
|
{{!-- Narrative Tab --}}
|
||||||
<article class="tab narrative" data-group="primary" data-tab="narrative">
|
<article class="tab narrative" data-group="primary" data-tab="narrative">
|
||||||
{{> 'systems/l5r5e/templates/actors/character/narrative.html'}}
|
{{> 'systems/l5r5e/templates/actors/npc/narrative.html'}}
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{{!-- Conflict Tab --}}
|
{{!-- Conflict Tab --}}
|
||||||
|
|||||||
@@ -1,6 +1,34 @@
|
|||||||
<fieldset class="narrative-content">
|
<div class="narrative-content">
|
||||||
|
{{!-- Ninjo/Giri --}}
|
||||||
|
<fieldset>
|
||||||
|
<legend class="text-block-header">{{localize 'l5r5e.social.title'}}</legend>
|
||||||
|
<label class="attribute-label">
|
||||||
|
{{localize 'l5r5e.social.ninjo'}}
|
||||||
|
<textarea type="text" name="data.social.ninjo">{{data.data.social.ninjo}}</textarea>
|
||||||
|
</label>
|
||||||
|
<label class="attribute-label">
|
||||||
|
{{localize 'l5r5e.social.giri'}} / {{localize 'l5r5e.social.past'}}
|
||||||
|
<textarea type="text" name="data.social.giri">{{data.data.social.giri}}</textarea>
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
{{!-- Bushido Tenets --}}
|
||||||
|
<fieldset>
|
||||||
|
<legend class="text-block-header">{{localize 'l5r5e.social.bushido_tenets.title'}}</legend>
|
||||||
|
<label class="attribute-label">
|
||||||
|
{{localize 'l5r5e.social.bushido_tenets.paramount'}}
|
||||||
|
<textarea type="text" name="data.social.bushido_tenets.paramount">{{data.data.social.bushido_tenets.paramount}}</textarea>
|
||||||
|
</label>
|
||||||
|
<label class="attribute-label">
|
||||||
|
{{localize 'l5r5e.social.bushido_tenets.less_significant'}}
|
||||||
|
<textarea type="text" name="data.social.bushido_tenets.less_significant">{{data.data.social.bushido_tenets.less_significant}}</textarea>
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
<div class="narrative-list">
|
||||||
|
{{!-- Advantages --}}
|
||||||
|
<fieldset>
|
||||||
<legend class="text-block-header">
|
<legend class="text-block-header">
|
||||||
{{localize 'l5r5e.social.npc.advantages'}}
|
{{localize 'l5r5e.social.advantages'}}
|
||||||
{{#if options.editable}}
|
{{#if options.editable}}
|
||||||
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -12,10 +40,11 @@
|
|||||||
{{/ifCond}}
|
{{/ifCond}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset class="narrative-content">
|
{{!-- Disadvantages --}}
|
||||||
|
<fieldset>
|
||||||
<legend class="text-block-header">
|
<legend class="text-block-header">
|
||||||
{{localize 'l5r5e.social.npc.disadvantages'}}
|
{{localize 'l5r5e.social.disadvantages'}}
|
||||||
{{#if options.editable}}
|
{{#if options.editable}}
|
||||||
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
<a data-item-type="peculiarity" class="peculiarity-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -27,11 +56,11 @@
|
|||||||
{{/ifCond}}
|
{{/ifCond}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{{!-- bonds --}}
|
{{!-- Bonds --}}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend class="text-block-header">
|
<legend class="text-block-header">
|
||||||
{{localize 'l5r5e.social.bonds'}}
|
{{localize 'l5r5e.social.bonds' }}
|
||||||
{{#if options.editable}}
|
{{#if options.editable}}
|
||||||
<a data-item-type="bond" class="bond-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
<a data-item-type="bond" class="bond-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -43,4 +72,17 @@
|
|||||||
{{/ifCond}}
|
{{/ifCond}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
<div class="narrative-fluff">
|
||||||
|
{{!-- Description (public) --}}
|
||||||
|
<fieldset class="narrative-description">
|
||||||
|
<legend class="text-block-header">{{localize 'l5r5e.description' }}</legend>
|
||||||
|
{{editor content=data.data.description target="data.description" button=true editable=options.editable}}
|
||||||
|
</fieldset>
|
||||||
|
{{!-- Notes (private) --}}
|
||||||
|
<fieldset class="narrative-note">
|
||||||
|
<legend class="text-block-header">{{localize 'l5r5e.notes' }}</legend>
|
||||||
|
{{editor content=data.data.notes target="data.notes" button=true editable=options.editable}}
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
@@ -3,7 +3,11 @@
|
|||||||
<h2 class="item-name"><img src="{{data.img}}" title="{{data.name}}" width="36" height="36"/> {{data.name}}</h2>
|
<h2 class="item-name"><img src="{{data.img}}" title="{{data.name}}" width="36" height="36"/> {{data.name}}</h2>
|
||||||
</header>
|
</header>
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
{{!--cancelled properties--}}
|
||||||
|
{{localize 'l5r5e.removed_properties'}} : {{#each data.data.properties as |property idx|}}{{#ifCond idx '>' 0}}, {{/ifCond}}{{property.name}}{{/each}}
|
||||||
|
|
||||||
{{!--item-infos--}}
|
{{!--item-infos--}}
|
||||||
|
<br>
|
||||||
{{localize 'l5r5e.description'}} : {{{data.data.description}}}
|
{{localize 'l5r5e.description'}} : {{{data.data.description}}}
|
||||||
<br>
|
<br>
|
||||||
{{localize 'l5r5e.book_reference'}} : {{data.data.book_reference}}
|
{{localize 'l5r5e.book_reference'}} : {{data.data.book_reference}}
|
||||||
|
|||||||
Reference in New Issue
Block a user