limited sheet for limited rights ^^

This commit is contained in:
Vlyan
2020-12-23 17:53:05 +01:00
parent d0cc6175ae
commit 0939293346
3 changed files with 66 additions and 5 deletions

View File

@@ -15,6 +15,17 @@ export class BaseSheetL5r5e extends ActorSheet {
return sheetData;
}
/**
* Return a light sheet if in "limited" state
* @override
*/
get template() {
if (!game.user.isGM && this.actor.limited) {
return `${CONFIG.l5r5e.paths.templates}actors/limited-sheet.html`;
}
return this.options.template;
}
/**
* Update the actor.
* @param event
@@ -56,6 +67,11 @@ export class BaseSheetL5r5e extends ActorSheet {
activateListeners(html) {
super.activateListeners(html);
// *** Everything below here is only needed if the sheet is editable ***
if (!this.options.editable) {
return;
}
// *** Dice event on Skills clic ***
html.find(".skill-name").on("click", (event) => {
const li = $(event.currentTarget).parents(".skill");
@@ -66,11 +82,6 @@ export class BaseSheetL5r5e extends ActorSheet {
}).render(true);
});
// *** Everything below here is only needed if the sheet is editable ***
if (!this.options.editable) {
return;
}
// On focus on one numeric element, select all text for better experience
html.find(".select-on-focus").on("focus", (event) => {
event.target.select();

View File

@@ -22,6 +22,9 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
*/
_getHeaderButtons() {
let buttons = super._getHeaderButtons();
if (!this.options.editable) {
return buttons;
}
buttons.unshift({
label: game.i18n.localize("l5r5e.twenty_questions.bt_abrev"),

View File

@@ -0,0 +1,47 @@
<form class="{{cssClass}} flexcol limited" autocomplete="off">
{{!-- Sheet Header --}}
<div class="sheet-header flexrow">
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}"/>
<div class="header-fields identity-wrapper">
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name"/></h1>
</div>
{{!-- Sheet Body --}}
<section class="sheet-body">
<ul class="identity-content">
<li>
<label class="attribute-label">
{{ localize 'l5r5e.clan' }}
<input type="text" name="data.identity.clan" value="{{data.identity.clan}}"/>
</label>
</li>
<li>
<label class="attribute-label">
{{ localize 'l5r5e.family' }}
<input type="text" name="data.identity.family" value="{{data.identity.family}}"/>
</label>
</li>
<li>
<label class="attribute-label">
{{ localize 'l5r5e.school' }}
<input type="text" name="data.identity.school" value="{{data.identity.school}}"/>
</label>
</li>
<li>
<label class="attribute-label">
{{ localize 'l5r5e.schoolrank' }}
<input type="number" name="data.identity.school_rank" value="{{data.identity.school_rank}}" class="select-on-focus" data-dtype="Number" min="0" placeholder="0"/>
</label>
</li>
<li>
<label class="attribute-label">
{{ localize 'l5r5e.roles' }}
<input type="text" name="data.identity.roles" value="{{data.identity.roles}}"/>
</label>
</li>
</ul>
</section>
</div>
</form>