Update sheet

This commit is contained in:
LeRatierBretonnien 2023-01-20 15:19:04 +01:00
parent d294d6aed1
commit aefdb54c85
8 changed files with 200 additions and 240 deletions

View File

@ -43,12 +43,13 @@ export class HeritiersActorSheet extends ActorSheet {
armes: duplicate(this.actor.getWeapons()), armes: duplicate(this.actor.getWeapons()),
monnaies: duplicate(this.actor.getMonnaies()), monnaies: duplicate(this.actor.getMonnaies()),
protections: duplicate(this.actor.getArmors()), protections: duplicate(this.actor.getArmors()),
profils: duplicate(this.actor.getProfils() || []),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()), equipements: duplicate(this.actor.getEquipments()),
monnaies: duplicate(this.actor.getMonnaies()), avantages: duplicate(this.actor.getAvantages()),
richesse: this.actor.computeRichesse(), atouts: duplicate(this.actor.getAtouts()),
valeurEquipement: this.actor.computeValeurEquipement(), capacites: duplicate(this.actor.getCapacites()),
desavantages: duplicate(this.actor.getDesavantages()),
pvMalus: this.actor.getPvMalus(),
initiative: this.actor.getFlag("world", "last-initiative") || -1, initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}), description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}), habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
@ -124,26 +125,15 @@ export class HeritiersActorSheet extends ActorSheet {
this.actor.rollAttribut("pre", true) this.actor.rollAttribut("pre", true)
}) })
html.find('.roll-attribut').click((event) => { html.find('.roll-carac').click((event) => {
const li = $(event.currentTarget).parents(".item") const key = $(event.currentTarget).data("key")
let attrKey = li.data("attr-key") this.actor.rollCarac(key, false)
this.actor.rollAttribut(attrKey, false)
}) })
html.find('.roll-competence').click((event) => { html.find('.roll-competence').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let compId = li.data("item-id") let compId = li.data("item-id")
this.actor.rollCompetence(compId) this.actor.rollCompetence(compId)
}) })
html.find('.roll-arme-offensif').click((event) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
this.actor.rollArmeOffensif(armeId)
})
html.find('.roll-arme-degats').click((event) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
this.actor.rollArmeDegats(armeId)
})
html.find('.item-add').click((event) => { html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type") const itemType = $(event.currentTarget).data("type")
@ -173,19 +163,14 @@ export class HeritiersActorSheet extends ActorSheet {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async _onDropItem(event, dragData) { /*async _onDropItem(event, dragData) {
let data = event.dataTransfer.getData('text/plain') let data = event.dataTransfer.getData('text/plain')
let dataItem = JSON.parse( data) let dataItem = JSON.parse( data)
let item = fromUuidSync(dataItem.uuid) let item = fromUuidSync(dataItem.uuid)
if (item.pack) { if (item.pack) {
item = await HeritiersUtility.searchItem(item) item = await HeritiersUtility.searchItem(item)
} }
let autoresult = HeritiersAutomation.processAutomations("on-drop", item, this.actor) super._onDropItem(event, dragData)
if ( autoresult.isValid ) { }*/
super._onDropItem(event, dragData)
} else {
ui.notifications.warn( autoresult.warningMessage)
}
}
} }

View File

@ -106,33 +106,30 @@ export class HeritiersActor extends Actor {
getEquipments() { getEquipments() {
return this.items.filter(item => item.type == "equipement") return this.items.filter(item => item.type == "equipement")
} }
/* ----------------------- --------------------- */ getAvantages() {
getArtefacts() { return this.items.filter(item => item.type == "avantage")
return this.items.filter(item => item.type == "artefact") }
getDesavantages() {
return this.items.filter(item => item.type == "desavantage")
} }
/* ----------------------- --------------------- */
getMonnaies() { getMonnaies() {
return this.items.filter(item => item.type == "monnaie") return this.items.filter(item => item.type == "monnaie")
} }
/* -------------------------------------------- */
getArmors() { getArmors() {
return this.items.filter(item => item.type == "protection") return this.items.filter(item => item.type == "protection")
} }
getHistoriques() {
return this.items.filter(item => item.type == "historique")
}
getProfils() {
return this.items.filter(item => item.type == "profil")
}
getTalents() { getTalents() {
return this.items.filter(item => item.type == "talent") return this.items.filter(item => item.type == "talent")
} }
getRessources() {
return this.items.filter(item => item.type == "ressource")
}
getContacts() { getContacts() {
return this.items.filter(item => item.type == "contact") return this.items.filter(item => item.type == "contact")
} }
getAtouts() {
return this.items.filter(item => item.type == "atoutfeerique")
}
getCapacites() {
return this.items.filter(item => item.type == "capacitenaturelle")
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getSkills() { getSkills() {
let comp = [] let comp = []
@ -262,90 +259,17 @@ export class HeritiersActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
checkAttribut(attribut, minLevel) { getPvMalus() {
let attr = this.system.attributs.find(at => at.labelnorm == attribut.toLowerCase()) if (this.system.pv.value > 0) {
if (attr && attr.value >= minLevel) { if (this.system.pv.value < this.system.pv.max / 2) {
return { isValid: true, attr: duplicate(attr) } return -1
}
return { isValid: false }
}
/* -------------------------------------------- */
checkAttributOrCompetenceLevel(compName, minLevel) {
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase() && i.system.niveau >= minLevel)
if (comp) {
return { isValid: true, item: duplicate(comp) }
} else {
for (let attrKey in this.system.attributs) {
if (this.system.attributs[attrKey].label.toLowerCase() == compName.toLowerCase() && this.system.attributs[attrKey].value >= minLevel) {
return { isValid: true, item: duplicate(this.system.attributs[attrKey]) }
}
} }
} if (this.system.pv.value < 5) {
return { isValid: false, warningMessage: `Prérequis insuffisant : la compétence/attribut ${compName} doit être de niveau ${minLevel} au minimum` } return -2
}
/* -------------------------------------------- */
addCompetenceBonus(compName, bonus, baCost) {
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
if (comp) {
comp = duplicate(comp)
comp.system.bonus = bonus
comp.system.baCost = baCost
return { isValid: true, item: comp }
}
return { isValid: false, warningMessage: `Compétence ${compName} non trouvée` }
}
/* -------------------------------------------- */
checkIfCompetence(compName) {
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
if (comp) {
return { isValid: true, item: comp }
}
return { isValid: false }
}
/* -------------------------------------------- */
getVigueur() {
return this.system.sante.vigueur
}
/* -------------------------------------------- */
getVigueurBonus() {
let talents = this.items.filter(item => item.type == "talent" && item.system.isautomated)
let bonus = 0
for (let talent of talents) {
for (let auto of talent.system.automations) {
if (auto.eventtype == "bonus-permanent" && auto.bonusname == "vigueur") {
bonus += Number(auto.bonus || 0)
}
} }
return 0
} }
return bonus return "Moribond(e)"
}
/* -------------------------------------------- */
getBonneAventure() {
return this.system.bonneaventure.actuelle
}
/* -------------------------------------------- */
checkBonneAventure(cost) {
return (this.system.bonneaventure.actuelle >= cost)
}
/* -------------------------------------------- */
changeBonneAventure(value) {
let newBA = this.system.bonneaventure.actuelle
newBA += value
this.update({ 'system.bonneaventure.actuelle': newBA })
}
/* -------------------------------------------- */
getEclat() {
return this.system.eclat.value
}
/* -------------------------------------------- */
changeEclat(value) {
let newE = this.system.eclat.value
newE += value
this.update({ 'system.eclat.value': newE })
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -514,6 +438,14 @@ export class HeritiersActor extends Actor {
getHeritages() { getHeritages() {
return this.system.rang.heritage.value return this.system.rang.heritage.value
} }
/* -------------------------------------------- */
incDecTricherie(value) {
let tricherie = this.system.rang.tricherie
tricherie.value += value
tricherie.value = Math.max(tricherie.value, 0)
tricherie.value = Math.min(tricherie.value, tricherie.max)
this.update({ 'system.rang.tricherie': tricherie })
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getCommonRollData(compId = undefined, compName = undefined) { getCommonRollData(compId = undefined, compName = undefined) {
@ -529,6 +461,7 @@ export class HeritiersActor extends Actor {
rollData.heritage = this.getHeritages() rollData.heritage = this.getHeritages()
rollData.useTricherie = false rollData.useTricherie = false
rollData.useHeritage = false rollData.useHeritage = false
rollData.pvMalus = this.getPvMalus()
if (compId) { if (compId) {
rollData.competence = duplicate(this.items.get(compId) || {}) rollData.competence = duplicate(this.items.get(compId) || {})
@ -542,10 +475,11 @@ export class HeritiersActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollAttribut(attrKey, isInit = false) { async rollCarac(key, isInit = false) {
let rollData = this.getCommonRollData(attrKey) let rollData = this.getCommonRollData()
rollData.multiplier = (isInit) ? 1 : 2 rollData.mode = "carac"
rollData.isInit = isInit rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
let rollDialog = await HeritiersRollDialog.create(this, rollData) let rollDialog = await HeritiersRollDialog.create(this, rollData)
rollDialog.render(true) rollDialog.render(true)
} }
@ -553,7 +487,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollCompetence(compId) { async rollCompetence(compId) {
let rollData = this.getCommonRollData(compId) let rollData = this.getCommonRollData(compId)
rollData.multiplier = 1 // Attr multiplier, always 1 in competence mode rollData.mode = "competence"
console.log("RollDatra", rollData) console.log("RollDatra", rollData)
let rollDialog = await HeritiersRollDialog.create(this, rollData) let rollDialog = await HeritiersRollDialog.create(this, rollData)
rollDialog.render(true) rollDialog.render(true)

View File

@ -57,7 +57,6 @@ export class HeritiersItemSheet extends ItemSheet {
name: objectData.name, name: objectData.name,
editable: this.isEditable, editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked", cssClass: this.isEditable ? "editable" : "locked",
attributs: HeritiersUtility.getAttributs(),
system: objectData.system, system: objectData.system,
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,

View File

@ -16,7 +16,8 @@ export class HeritiersRollDialog extends Dialog {
let conf = { let conf = {
title: "Test de Capacité", title: "Test de Capacité",
content: html, content: html,
buttons: { buttons:
{
rolld8: { rolld8: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d8", label: "Lancer 1d8",
@ -40,7 +41,21 @@ export class HeritiersRollDialog extends Dialog {
}, },
close: close close: close
} }
// Overwrite in case of carac only -> 1d10
if (rollData.mode == "carac") {
conf.buttons = {
rolld8: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d8",
callback: () => { this.roll("d8") }
},
cancel: {
icon: '<i class="fas fa-times"></i>',
label: "Annuler",
callback: () => { this.close() }
}
}
}
super(conf, options); super(conf, options);
this.actor = actor this.actor = actor
@ -77,6 +92,6 @@ export class HeritiersRollDialog extends Dialog {
}) })
html.find('#useHeritage').change((event) => { html.find('#useHeritage').change((event) => {
this.rollData.useHeritage = event.currentTarget.checked this.rollData.useHeritage = event.currentTarget.checked
}) })
} }
} }

View File

@ -277,27 +277,55 @@ export class HeritiersUtility {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static computeResult(rollData) { static incDecHeritage() {
}
/* -------------------------------------------- */
static computeResult(actor, rollData) {
rollData.diceResult = -1 rollData.diceResult = -1
let resTab = []
for ( let res of rollData.roll.terms[0].results) { for ( let res of rollData.roll.terms[0].results) {
rollData.diceResult = Math.max(res.result, rollData.diceResult) rollData.diceResult = Math.max(res.result, rollData.diceResult)
resTab.push(res.result)
} }
let isFailure = false
if (rollData.mainDice.includes("d10")) { if (rollData.mainDice.includes("d10")) {
if ( rollData.diceResult == 1) { if ( rollData.diceResult == 1) {
rollData.finalResult -= 3 rollData.finalResult -= 3
isFailure = true
} }
} }
if (rollData.mainDice.includes("d12")) { if (rollData.mainDice.includes("d12")) {
if ( rollData.diceResult == 1 || rollData.diceResult == 2) { if ( rollData.diceResult == 1 || rollData.diceResult == 2) {
rollData.finalResult -= 5 rollData.finalResult -= 5
isFailure = true
} }
} }
if (rollData.useHeritage || rollData.useTricherie) { // Heritage/Tricherie management
rollData.marge = 0
if (!isFailure && (rollData.useHeritage || rollData.useTricherie)) {
resTab = resTab.sort()
if ( (resTab[0] == resTab[1]) && (resTab[1] == resTab[2])) {
rollData.marge = 7
rollData.isSuccess = true
rollData.isCriticalSuccess = true
}
if ((resTab[0]+1 == resTab[1]) && (resTab[1]+1 == resTab[2]) ) {
rollData.marge = 7
rollData.isSuccess = true
rollData.isCriticalSuccess = true
}
if ( rollData.useTricherie) {
actor.incDecTricherie(-1)
}
if ( rollData.useHeritage) {
this.incDecHeritage()
}
} }
//rollData.finalResult = Math.max(rollData.finalResult, 0) //rollData.finalResult = Math.max(rollData.finalResult, 0)
//console.log("Result : ", rollData) //console.log("Result : ", rollData)
if (rollData.sdValue > 0 ) { if (rollData.marge == 0 && rollData.sdValue > 0 ) {
rollData.marge = rollData.finalResult - rollData.sdValue rollData.marge = rollData.finalResult - rollData.sdValue
rollData.isSuccess = (rollData.finalResult >= rollData.sdValue) rollData.isSuccess = (rollData.finalResult >= rollData.sdValue)
rollData.isCriticalSuccess = ((rollData.finalResult - rollData.sdValue) >= 7) rollData.isCriticalSuccess = ((rollData.finalResult - rollData.sdValue) >= 7)
@ -319,8 +347,9 @@ export class HeritiersUtility {
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0 let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${rollData.bonusMalusContext}+${compmod}` rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${rollData.bonusMalusContext}+${compmod}`
} else { } else {
rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}` rollData.diceFormula += `+${rollData.carac.value}+${rollData.bonusMalusContext}`
} }
rollData.diceFormula += `+${rollData.pvMalus}`
if (rollData.arme && rollData.arme.type == "arme") { if (rollData.arme && rollData.arme.type == "arme") {
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}` rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
@ -332,7 +361,7 @@ export class HeritiersUtility {
console.log(">>>> ", myRoll) console.log(">>>> ", myRoll)
rollData.finalResult = myRoll.total rollData.finalResult = myRoll.total
this.computeResult(rollData) this.computeResult(actor, rollData)
if (rollData.isInit) { if (rollData.isInit) {
actor.setFlag("world", "last-initiative", rollData.finalResult) actor.setFlag("world", "last-initiative", rollData.finalResult)
} }

View File

@ -1,7 +1,7 @@
{ {
"id": "fvtt-les-heritiers", "id": "fvtt-les-heritiers",
"description": "Les Héritiers pour FoundryVTT", "description": "Les Héritiers pour FoundryVTT",
"version": "10.0.6", "version": "10.0.7",
"authors": [ "authors": [
{ {
"name": "Uberwald/LeRatierBretonnien", "name": "Uberwald/LeRatierBretonnien",
@ -19,7 +19,7 @@
"gridUnits": "m", "gridUnits": "m",
"license": "LICENSE.txt", "license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json",
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-10.0.6.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-10.0.7.zip",
"languages": [ "languages": [
{ {
"lang": "fr", "lang": "fr",

View File

@ -14,7 +14,7 @@
{{#each system.caracteristiques as |carac key|}} {{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "physical")}} {{#if (eq kind "physical")}}
<li class="item flexrow "> <li class="item flexrow ">
<h4 class="item-name-label competence-name">{{carac.label}}</h4> <h4 class="item-name-label competence-name"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" /> name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
@ -30,7 +30,7 @@
{{#each system.caracteristiques as |carac key|}} {{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "mental")}} {{#if (eq kind "mental")}}
<li class="item flexrow "> <li class="item flexrow ">
<h4 class="item-name-label competence-name">{{carac.label}}</h4> <h4 class="item-name-label competence-name"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" /> name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
@ -42,6 +42,19 @@
</div> </div>
</div> </div>
<div class="flexrow">
<label class="item-field-label-short">PV</label>
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" data-dtype="Number" />
<label class="item-field-label-short">Malus</label>
<input type="text" class="item-field-label-short" value="{{pvMalus}}" data-dtype="Number" disabled />
<span>&nbsp;&nbsp;</span>
<label class="item-field-label-short">Tricherie</label>
<input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
</div>
</div> </div>
</div> </div>
</header> </header>
@ -51,7 +64,7 @@
<a class="item" data-tab="competences">Compétences</a> <a class="item" data-tab="competences">Compétences</a>
<a class="item" data-tab="combat">Combat</a> <a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipement">Equipement</a> <a class="item" data-tab="equipement">Equipement</a>
<a class="item" data-tab="equipement">Fée</a> <a class="item" data-tab="fee">Fée</a>
<a class="item" data-tab="biodata">Bio&Notes</a> <a class="item" data-tab="biodata">Bio&Notes</a>
</nav> </nav>
@ -245,90 +258,25 @@
</div> </div>
{{!-- Equipement Tab --}} {{!-- Fee Tab --}}
<div class="tab equipement" data-group="primary" data-tab="equipement"> <div class="tab fee" data-group="primary" data-tab="fee">
<div class="flexcol"> <div class="flexcol">
<hr>
<div class="sheet-box color-bg-archetype">
<h4>
<label class="argent-total-text">
Argent Total : {{richesse.po}} PO - {{richesse.pa}} PA - {{richesse.sc}} SC (total {{richesse.valueSC}}
SC)
</label>
</h4>
</div>
<div class="sheet-box color-bg-archetype"> <div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header"> <span class="item-name-label-header">
<h3><label class="items-title-text">Richesses et Argent</label></h3> <h3><label class="items-title-text">Avantages</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="monnaie" title="Ajouter une monnaie"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each monnaies as |monnaie key|}}
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
<img class="item-name-img" src="{{monnaie.img}}" />
<span class="item-name-label competence-name">{{monnaie.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{#each avantages as |avantage key|}}
</ul> <li class="item flexrow " data-item-id="{{avantage._id}}" data-item-type="avantage">
</div> <img class="item-name-img" src="{{avantage.img}}" />
<span class="item-field-label-long2">{{avantage.name}}</span>
<hr>
<div class="sheet-box color-bg-archetype">
<h4>
<label class="argent-total-text">
Valeur Total Equipement : {{valeurEquipement.po}} PO - {{valeurEquipement.pa}} PA -
{{valeurEquipement.sc}} SC (total {{valeurEquipement.valueSC}} SC)
</label>
</h4>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Equipements</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="equipement" title="Ajouter un équipement"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each equipements as |equipement key|}}
<li class="item flexrow " data-item-id="{{equipement._id}}" data-item-type="equipement">
<img class="item-name-img" src="{{equipement.img}}" />
<span class="item-name-label competence-name">{{equipement.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{equipement.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
@ -343,27 +291,16 @@
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header"> <span class="item-name-label-header">
<h3><label class="items-title-text">Artefacts</label></h3> <h3><label class="items-title-text">Désavantages</label></h3>
</span> </span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="artefact" title="Ajouter un artefact"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each artefacts as |artefact key|}} {{#each desavantages as |desavantage key|}}
<li class="item flexrow " data-item-id="{{artefact._id}}" data-item-type="artefact"> <li class="item flexrow " data-item-id="{{desavantage._id}}" data-item-type="desavantage">
<img class="item-name-img" src="{{artefact.img}}" /> <img class="item-name-img" src="{{desavantage.img}}" />
<span class="item-name-label competence-name">{{artefact.name}}</span> <span class="item-field-label-long2">{{desavantage.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{artefact.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
@ -374,6 +311,55 @@
</ul> </ul>
</div> </div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Atouts Féériques</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
</div>
</li>
{{#each atouts as |atout key|}}
<li class="item flexrow " data-item-id="{{atout._id}}" data-item-type="atout">
<img class="item-name-img" src="{{atout.img}}" />
<span class="item-field-label-long2">{{atout.name}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Capacités Naturelles</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
</div>
</li>
{{#each capacites as |capa key|}}
<li class="item flexrow " data-item-id="{{capa._id}}" data-item-type="capacite">
<img class="item-name-img" src="{{capa.img}}" />
<span class="item-field-label-long2">{{capa.name}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div> </div>
</div> </div>

View File

@ -8,16 +8,23 @@
<div class="flexcol"> <div class="flexcol">
<div class="flexrow"> {{#if (eq mode "carac")}}
<span class="roll-dialog-label">Caracteristique</span> <div class="flexrow">
<select class="status-small-label color-class-common" id="caracKey" type="text" name="caracKey" value="caracKey" data-dtype="string" > <span class="roll-dialog-label">Caracteristique</span>
{{#select caracKey}} <span class="roll-dialog-label">{{carac.label}} ({{carac.value}})</span>
{{#each caracList as |carac key|}} </div>
<option value="{{key}}">{{carac.label}}</option> {{else}}
{{/each}} <div class="flexrow">
{{/select}} <span class="roll-dialog-label">Caracteristique</span>
</select> <select class="status-small-label color-class-common" id="caracKey" type="text" name="caracKey" value="caracKey" data-dtype="string" >
</div> {{#select caracKey}}
{{#each caracList as |carac key|}}
<option value="{{key}}">{{carac.label}}</option>
{{/each}}
{{/select}}
</select>
</div>
{{/if}}
{{#if competence}} {{#if competence}}
<div class="flexrow"> <div class="flexrow">
@ -25,7 +32,12 @@
<span class="small-label roll-dialog-label">{{competence.system.niveau}}</span> <span class="small-label roll-dialog-label">{{competence.system.niveau}}</span>
</div> </div>
{{/if}} {{/if}}
<div class="flexrow">
<span class="roll-dialog-label">Malus de Santé</span>
<span class="small-label roll-dialog-label">{{pvMalus}}</span>
</div>
{{#if tricherie}} {{#if tricherie}}
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Utiliser 1 point de Tricherie ({{tricherie}}) ?</span> <span class="roll-dialog-label">Utiliser 1 point de Tricherie ({{tricherie}}) ?</span>