Working on Compatibility for FVTT v10

token.img -> token.texture.src
some missing data/system
comp.keys() -> comp.index.keys()
This commit is contained in:
Vlyan
2022-07-22 12:43:48 +02:00
parent 894cdba28b
commit b92d2b3112
8 changed files with 86 additions and 91 deletions

View File

@@ -174,12 +174,13 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
if (
this.actor.items.some((embedItem) => {
// Search in children
if (embedItem.items instanceof Map && embedItem.items.has(item.data._id)) {
if (embedItem.items instanceof Map && embedItem.items.has(item._id)) {
return true;
}
return embedItem._id === item._id;
})
) {
console.log("LR5E | This item already exist in this actor", item.uuid);
return;
}
@@ -220,7 +221,7 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
// Add embed advancements bonus
for (let [embedId, embedItem] of item.system.items) {
if (embedItem.data.type === "advancement") {
if (embedItem.type === "advancement") {
await this.actor.addBonus(embedItem);
}
}
@@ -277,14 +278,10 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
const item = this.actor.items.get(li.dataset.itemParentId)?.items.get(li.dataset.itemId);
if (item) {
const dragData = {
actorId: this.actor.id,
sceneId: this.actor.isToken ? canvas.scene?.id : null,
tokenId: this.actor.isToken ? this.actor.token.id : null,
pack: this.actor.pack,
type: "Item",
data: foundry.utils.duplicate(item.data),
data: foundry.utils.duplicate(item),
};
dragData.data.data.parent_id = null;
dragData.data.system.parent_id = null;
event.dataTransfer.setData("text/plain", JSON.stringify(dragData));
return;
}
@@ -450,7 +447,7 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
}
// Remove 1 qty if possible
if (tmpItem.data.data.quantity > 1 && this._modifyQuantity(tmpItem.id, -1)) {
if (tmpItem.system.quantity > 1 && this._modifyQuantity(tmpItem.id, -1)) {
return;
}
@@ -463,8 +460,8 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
case "title":
// Remove embed advancements bonus
for (let [embedId, embedItem] of tmpItem.data.data.items) {
if (embedItem.data.type === "advancement") {
for (let [embedId, embedItem] of tmpItem.system.items) {
if (embedItem.type === "advancement") {
await this.actor.removeBonus(embedItem);
}
}
@@ -603,7 +600,7 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
_getWeaponSkillId(weaponId) {
const item = this.actor.items.get(weaponId);
if (!!item && item.type === "weapon") {
return item.data.data.skill;
return item.system.skill;
}
return null;
}
@@ -644,11 +641,11 @@ export class BaseCharacterSheetL5r5e extends BaseSheetL5r5e {
// Required for tech in titles, search in sub items
const item = await game.l5r5e.HelpersL5r5e.getEmbedItemByEvent(event, this.actor);
if (!item || item.type !== "technique" || !item.data.data.skill) {
if (!item || item.type !== "technique" || !item.system.skill) {
return;
}
const itemData = item.data.data;
const itemData = item.system;
new game.l5r5e.DicePickerDialog({
actor: this.actor,
ringId: itemData.ring || null,

View File

@@ -100,7 +100,7 @@ export class CharacterGenerator {
if (!comp.indexed) {
await comp.getDocuments();
}
document = comp.getDocument(CharacterGenerator._getRandomArrayValue(Array.from(comp.keys())));
document = comp.getDocument(CharacterGenerator._getRandomArrayValue(Array.from(comp.index.keys())));
}
await game.l5r5e.HelpersL5r5e.refreshItemProperties(document);
return document;
@@ -145,7 +145,7 @@ export class CharacterGenerator {
const randomNames = await game.l5r5e.HelpersL5r5e.drawManyFromPack("l5r5e.core-name-tables", table, 1, {
displayChat: false,
});
return randomNames?.results[0]?.data.text || "";
return randomNames?.results[0]?.text || "";
}
/**
@@ -388,7 +388,7 @@ export class CharacterGenerator {
/**
* Generate attributes (rings, attributes, skills, confrontation ranks)
* @param {boolean} isNpc
* @param {DocumentData.data} actorDatas
* @param {DocumentData.system} actorDatas
* @private
*/
_generateAttributes(isNpc, actorDatas) {
@@ -425,7 +425,7 @@ export class CharacterGenerator {
/**
* Generate Demeanor (npc only)
* @param {DocumentData.data} actorDatas
* @param {DocumentData.system} actorDatas
* @private
*/
_generateDemeanor(actorDatas) {
@@ -462,7 +462,7 @@ export class CharacterGenerator {
for (const pack of ["adversities", "distinctions", "passions", "anxieties"]) {
const item = await CharacterGenerator._getItemFromPack(`l5r5e.core-peculiarities-${pack}`);
if (item) {
newItemsData.push(foundry.utils.duplicate(item.data));
newItemsData.push(foundry.utils.duplicate(item));
}
}
}
@@ -506,7 +506,7 @@ export class CharacterGenerator {
for (const itemId of itemCfg[pack]) {
const item = await CharacterGenerator._getItemFromPack(`l5r5e.core-${pack}`, itemId);
if (item) {
newItemsData.push(foundry.utils.duplicate(item.data));
newItemsData.push(foundry.utils.duplicate(item));
}
}
}
@@ -616,8 +616,7 @@ export class CharacterGenerator {
} while (item && item.system.rank > avgrv);
if (item) {
console.log(item); //todo tmp check this!
newItemsData.push(foundry.utils.duplicate(item.data));
newItemsData.push(foundry.utils.duplicate(item));
}
} // fr qty
} // fr techCfg
@@ -625,7 +624,7 @@ export class CharacterGenerator {
/**
* Fill notes with some values that don't appear in sheet
* @param {DocumentData.data} actorDatas
* @param {DocumentData.system} actorDatas
* @return {Promise<void>}
* @private
*/
@@ -671,7 +670,7 @@ export class CharacterGenerator {
/**
* Generate Narrative fluff
* @param {DocumentData.data} actorDatas
* @param {DocumentData.system} actorDatas
* @private
*/
_generateNarrative(actorDatas) {

View File

@@ -190,7 +190,7 @@ export class DicePickerDialog extends FormApplication {
set targetInfos(targetToken) {
this.object.targetInfos = targetToken
? {
img: targetToken.img,
img: targetToken.texture.src || null,
name: targetToken.name,
}
: null;

View File

@@ -548,8 +548,8 @@ export class RollnKeepDialog extends FormApplication {
roll,
game.user,
true,
this._message.data.whisper.length === 0 ? null : this._message.data.whisper,
this._message.data.blind
this._message.whisper.length === 0 ? null : this._message.whisper,
this._message.blind
);
}
@@ -657,7 +657,7 @@ export class RollnKeepDialog extends FormApplication {
if (this.roll.l5r5e.isInitiativeRoll) {
let msgOptions = {
rnkRoll: this.roll,
rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message.data),
rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message),
};
await this.roll.l5r5e.actor.rollInitiative({
@@ -673,7 +673,7 @@ export class RollnKeepDialog extends FormApplication {
// Send it to chat, switch to new message
this.message = await this.roll.toMessage(
{},
{ rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message.data) }
{ rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) }
);
}

View File

@@ -74,7 +74,7 @@ export class RollL5r5e extends Roll {
set targetInfos(targetToken) {
this.l5r5e.targetInfos = targetToken
? {
img: targetToken.img,
img: targetToken.texture.src || null,
name: targetToken.name,
}
: null;
@@ -287,8 +287,7 @@ export class RollL5r5e extends Roll {
isPublicRoll: !isPrivate,
tooltip: isPrivate ? "" : await this.getTooltip({ from: "render" }),
total: isPrivate ? "?" : this.total,
//data: this.data,
profileImg: this.l5r5e.actor?.img ? this.l5r5e.actor?.img : "icons/svg/mystery-man.svg",
profileImg: this.l5r5e.actor?.img || "icons/svg/mystery-man.svg",
l5r5e: isPrivate
? {}
: {

View File

@@ -129,7 +129,7 @@ export class HelpersL5r5e {
* @param {string} uuid "Item.5qI6SU85VSFqji8W"
* @param {string} id "5qI6SU85VSFqji8W"
* @param {string} type Type ("Item", "JournalEntry"...)
* @param {any[]|null} data Plain data
* @param {any[]|null} data Plain document data
* @param {string|null} pack Pack name
* @param {string|null} parentId Used to avoid an infinite loop in properties if set
* @return {Promise<null>}

View File

@@ -10,45 +10,45 @@
{{!-- Sheet Header --}}
<ul>
{{!-- Identity --}}
<li>{{#ifCond data.data.template '==' 'pow'}}{{localize 'l5r5e.sheets.region'}}{{else}}{{localize 'l5r5e.clans.label'}}{{/ifCond}} : {{data.data.identity.clan}}</li>
<li>{{#ifCond data.data.template '==' 'pow'}}{{localize 'l5r5e.sheets.upbringing'}}{{else}}{{localize 'l5r5e.sheets.family'}}{{/ifCond}} : {{data.data.identity.family}}</li>
<li>{{localize 'l5r5e.sheets.rank'}} : {{data.data.identity.school_rank}}</li>
<li>{{localize 'l5r5e.sheets.school'}} : {{data.data.identity.school}}</li>
<li>{{localize 'l5r5e.roles'}} : {{data.data.identity.roles}}</li>
<li>{{#ifCond data.system.template '==' 'pow'}}{{localize 'l5r5e.sheets.region'}}{{else}}{{localize 'l5r5e.clans.label'}}{{/ifCond}} : {{data.system.identity.clan}}</li>
<li>{{#ifCond data.system.template '==' 'pow'}}{{localize 'l5r5e.sheets.upbringing'}}{{else}}{{localize 'l5r5e.sheets.family'}}{{/ifCond}} : {{data.system.identity.family}}</li>
<li>{{localize 'l5r5e.sheets.rank'}} : {{data.system.identity.school_rank}}</li>
<li>{{localize 'l5r5e.sheets.school'}} : {{data.system.identity.school}}</li>
<li>{{localize 'l5r5e.roles'}} : {{data.system.identity.roles}}</li>
{{!-- Social --}}
<li>{{localize 'l5r5e.social.honor'}} : {{data.data.social.honor}}</li>
<li>{{localize 'l5r5e.social.glory'}} : {{data.data.social.glory}}</li>
<li>{{localize 'l5r5e.social.status'}} : {{data.data.social.status}}</li>
<li>{{localize 'l5r5e.social.honor'}} : {{data.system.social.honor}}</li>
<li>{{localize 'l5r5e.social.glory'}} : {{data.system.social.glory}}</li>
<li>{{localize 'l5r5e.social.status'}} : {{data.system.social.status}}</li>
{{!-- Rings --}}
<li>{{localize 'l5r5e.rings.earth'}} : {{data.data.rings.earth}}</li>
<li>{{localize 'l5r5e.rings.air'}} : {{data.data.rings.air}}</li>
<li>{{localize 'l5r5e.rings.water'}} : {{data.data.rings.water}}</li>
<li>{{localize 'l5r5e.rings.fire'}} : {{data.data.rings.fire}}</li>
<li>{{localize 'l5r5e.rings.void'}} : {{data.data.rings.void}}</li>
<li>{{localize 'l5r5e.rings.earth'}} : {{data.system.rings.earth}}</li>
<li>{{localize 'l5r5e.rings.air'}} : {{data.system.rings.air}}</li>
<li>{{localize 'l5r5e.rings.water'}} : {{data.system.rings.water}}</li>
<li>{{localize 'l5r5e.rings.fire'}} : {{data.system.rings.fire}}</li>
<li>{{localize 'l5r5e.rings.void'}} : {{data.system.rings.void}}</li>
{{!-- Attributes --}}
<li>{{localize 'l5r5e.attributes.endurance'}} : {{data.data.endurance}}</li>
<li>{{localize 'l5r5e.attributes.composure'}} : {{data.data.composure}}</li>
<li>{{localize 'l5r5e.attributes.focus'}} : {{data.data.focus}}</li>
<li>{{localize 'l5r5e.attributes.vigilance'}} : {{data.data.vigilance}}</li>
<li>{{localize 'l5r5e.attributes.voidpoints'}} : {{data.data.void_points.max}}</li>
<li>{{localize 'l5r5e.attributes.endurance'}} : {{data.system.endurance}}</li>
<li>{{localize 'l5r5e.attributes.composure'}} : {{data.system.composure}}</li>
<li>{{localize 'l5r5e.attributes.focus'}} : {{data.system.focus}}</li>
<li>{{localize 'l5r5e.attributes.vigilance'}} : {{data.system.vigilance}}</li>
<li>{{localize 'l5r5e.attributes.voidpoints'}} : {{data.system.void_points.max}}</li>
{{!-- Narrative : Social --}}
<li>{{localize 'l5r5e.social.ninjo'}} : {{data.data.social.ninjo}}</li>
<li>{{#ifCond data.data.template '==' 'pow'}}{{localize 'l5r5e.social.past'}}{{else}}{{localize 'l5r5e.social.giri'}}{{/ifCond}} : {{data.data.social.giri}}</li>
<li>{{localize 'l5r5e.social.bushido_tenets.paramount'}} : {{data.data.social.bushido_tenets.paramount}}</li>
<li>{{localize 'l5r5e.social.bushido_tenets.less_significant'}} : {{data.data.social.bushido_tenets.less_significant}}</li>
<li>{{localize 'l5r5e.sheets.description' }} : {{{data.data.description}}}</li>
<li>{{localize 'l5r5e.sheets.notes' }} : {{{data.data.notes}}}</li>
<li>{{localize 'l5r5e.social.ninjo'}} : {{data.system.social.ninjo}}</li>
<li>{{#ifCond data.system.template '==' 'pow'}}{{localize 'l5r5e.social.past'}}{{else}}{{localize 'l5r5e.social.giri'}}{{/ifCond}} : {{data.system.social.giri}}</li>
<li>{{localize 'l5r5e.social.bushido_tenets.paramount'}} : {{data.system.social.bushido_tenets.paramount}}</li>
<li>{{localize 'l5r5e.social.bushido_tenets.less_significant'}} : {{data.system.social.bushido_tenets.less_significant}}</li>
<li>{{localize 'l5r5e.sheets.description' }} : {{{data.system.description}}}</li>
<li>{{localize 'l5r5e.sheets.notes' }} : {{{data.system.notes}}}</li>
</ul>
{{!-- a faire : Spé Skill/Ecoles pour les pnj --}}
{{!-- Skills Tab : Skills --}}
<h2>{{localize 'l5r5e.skills.title'}}</h2>
<ul>
{{#each data.data.skills as |category categoryId|}}
{{#each data.system.skills as |category categoryId|}}
<li>
<strong>{{localizeSkill categoryId 'title'}}</strong>
<ul>
@@ -85,8 +85,8 @@
<h2>{{localize 'l5r5e.advancements.signature_scroll' }}</h2>
<ul>
{{#each actor.items as |scroll|}}
{{#ifCond scroll.data.type '==' 'signature_scroll'}}
<li>{{> 'systems/l5r5e/templates/items/signature-scroll/signature-scroll-text.html' data=scroll.data editable=../options.editable}}</li>
{{#ifCond scroll.type '==' 'signature_scroll'}}
<li>{{> 'systems/l5r5e/templates/items/signature-scroll/signature-scroll-text.html' data=scroll editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -96,7 +96,7 @@
<h2>{{localize 'l5r5e.social.advantages'}}</h2>
<ul>
{{#each data.items as |item|}}
{{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}}
{{#ifCond '["distinction","passion"]' 'includes' item.system.peculiarity_type}}
<li>{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
@@ -106,7 +106,7 @@
<h2>{{localize 'l5r5e.social.disadvantages'}}</h2>
<ul>
{{#each data.items as |item|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.system.peculiarity_type}}
<li>{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
@@ -127,7 +127,7 @@
{{!-- items list --}}
<h2>{{localize 'l5r5e.sheets.equipment'}}</h2>
<ul>
<li>{{localize 'l5r5e.money.title'}} : {{data.data.money.koku}} {{localize 'l5r5e.money.koku'}} / {{data.data.money.bu}} {{localize 'l5r5e.money.bu'}} / {{data.data.money.zeni}} {{localize 'l5r5e.money.zeni'}}</li>
<li>{{localize 'l5r5e.money.title'}} : {{data.system.money.koku}} {{localize 'l5r5e.money.koku'}} / {{data.system.money.bu}} {{localize 'l5r5e.money.bu'}} / {{data.system.money.zeni}} {{localize 'l5r5e.money.zeni'}}</li>
{{#each data.splitItemsList as |cat type|}}
<li>
<strong>{{localize (localize 'l5r5e.{type}s.title' type=type)}} ({{cat.length}})</strong>
@@ -144,8 +144,8 @@
<h2>{{localize 'l5r5e.advancements.item_pattern'}}</h2>
<ul>
{{#each actor.items as |pattern|}}
{{#ifCond pattern.data.type '==' 'item_pattern'}}
<li>{{> 'systems/l5r5e/templates/items/item-pattern/item-pattern-text.html' data=pattern.data editable=../options.editable}}</li>
{{#ifCond pattern.type '==' 'item_pattern'}}
<li>{{> 'systems/l5r5e/templates/items/item-pattern/item-pattern-text.html' data=pattern editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -154,13 +154,13 @@
{{!-- Experience Tab --}}
<h2>{{localize 'l5r5e.sheets.experience'}}</h2>
<ul>
<li>{{localize 'l5r5e.advancements.total'}} : {{data.data.xp_total}}</li>
<li>{{localize 'l5r5e.advancements.spent'}} : {{data.data.xp_spent}}</li>
<li>{{localize 'l5r5e.advancements.saved'}} : {{data.data.xp_saved}}</li>
<li>{{localize 'l5r5e.advancements.total'}} : {{data.system.xp_total}}</li>
<li>{{localize 'l5r5e.advancements.spent'}} : {{data.system.xp_spent}}</li>
<li>{{localize 'l5r5e.advancements.saved'}} : {{data.system.xp_saved}}</li>
</ul>
{{!-- School progression --}}
<h2>{{#if data.data.identity.school_curriculum_journal.name}}{{data.data.identity.school_curriculum_journal.name}}{{else}}{{localize 'l5r5e.sheets.school'}}{{/if}}</h2>
<h2>{{#if data.system.identity.school_curriculum_journal.name}}{{data.system.identity.school_curriculum_journal.name}}{{else}}{{localize 'l5r5e.sheets.school'}}{{/if}}</h2>
<table>
<tr>
<th>{{localize 'l5r5e.sheets.name'}}</th>
@@ -173,9 +173,9 @@
{{#each rankObject.list as |advancement|}}
<tr>
<td>{{advancement.name}}</td>
<td>{{#if advancement.data.in_curriculum}}✓</i>{{/if}}</td>
<td>{{advancement.data.xp_used}}</td>
<td>{{advancement.data.rank}}</td>
<td>{{#if advancement.system.in_curriculum}}✓</i>{{/if}}</td>
<td>{{advancement.system.xp_used}}</td>
<td>{{advancement.system.rank}}</td>
</tr>
{{/each}}
{{/each}}
@@ -193,8 +193,8 @@
{{#each data.advancementsOthers as |advancement|}}
<tr>
<td>{{advancement.name}}</td>
<td>{{advancement.data.xp_used}}</td>
<td>{{advancement.data.rank}}</td>
<td>{{advancement.system.xp_used}}</td>
<td>{{advancement.system.rank}}</td>
</tr>
{{/each}}
</table>
@@ -202,27 +202,27 @@
{{!-- 20Q --}}
{{#ifCond data.data.twenty_questions.template '==' 'pow'}}
{{#ifCond data.system.twenty_questions.template '==' 'pow'}}
{{setVar "suffix" "pow"}}
{{else}}
{{setVar "suffix" ""}}
{{/ifCond}}
<h2>{{localize 'l5r5e.twenty_questions.title'}}</h2>
<ul>
<li>{{localize (localize 'l5r5e.twenty_questions.part2.q4{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step4.stand_out}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q7{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step7.clan_relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q8{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step8.bushido}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q9{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step9.success}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q10{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step10.difficulty}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q11{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step11.calms}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q12{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step12.worries}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q13{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step13.most_learn}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step14.first_sight}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step15.stress}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q16{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step16.relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q17{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step17.parents_pov}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q18{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step18.heritage_name}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix)}} : {{data.data.twenty_questions.step20.death}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part2.q4{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step4.stand_out}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q7{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step7.clan_relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q8{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step8.bushido}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q9{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step9.success}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q10{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step10.difficulty}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q11{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step11.calms}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q12{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step12.worries}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q13{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step13.most_learn}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step14.first_sight}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step15.stress}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q16{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step16.relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q17{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step17.parents_pov}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q18{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step18.heritage_name}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step20.death}}</li>
</ul>
</section>

View File

@@ -35,7 +35,7 @@
{{/if}}
</label>
{{else}}
<input name="data.commander" type="text" value="{{data.data.commander}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
<input name="system.commander" type="text" value="{{data.system.commander}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
{{/if}}
</div>
<div class="standing">