Initial release

This commit is contained in:
LeRatierBretonnien 2023-02-01 19:48:35 +01:00
parent 64ce2fcbb9
commit 04909ef841
26 changed files with 287 additions and 671 deletions

BIN
images/icons/arbalete.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
images/icons/arc.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
images/icons/fusil.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
images/icons/habilite.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
images/icons/mainsnues.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
images/icons/physique.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
images/icons/revolver.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -14,8 +14,8 @@ export class MaleficesActorSheet extends ActorSheet {
return mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-malefices", "sheet", "actor"], classes: ["fvtt-malefices", "sheet", "actor"],
template: "systems/fvtt-malefices/templates/actors/actor-sheet.hbs", template: "systems/fvtt-malefices/templates/actors/actor-sheet.hbs",
width: 960, width: 640,
height: 720, height: 640,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }], tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
editScore: true editScore: true
@ -38,7 +38,6 @@ export class MaleficesActorSheet extends ActorSheet {
armes: duplicate(this.actor.getArmes()), armes: duplicate(this.actor.getArmes()),
equipements: duplicate(this.actor.getEquipements()), equipements: duplicate(this.actor.getEquipements()),
subActors: duplicate(this.actor.getSubActors()), subActors: duplicate(this.actor.getSubActors()),
focusData: this.actor.computeFinalFocusData(),
encCurrent: this.actor.encCurrent, encCurrent: this.actor.encCurrent,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
@ -113,13 +112,11 @@ export class MaleficesActorSheet extends ActorSheet {
html.find('.roll-attribut').click((event) => { html.find('.roll-attribut').click((event) => {
let attrKey = $(event.currentTarget).data("attr-key") let attrKey = $(event.currentTarget).data("attr-key")
let skillKey = $(event.currentTarget).data("skill-key") this.actor.rollAttribut(attrKey)
this.actor.rollSkill(attrKey, skillKey)
}); });
html.find('.roll-arme').click((event) => { html.find('.roll-arme').click((event) => {
const li = $(event.currentTarget).parents(".item"); const armeId = $(event.currentTarget).data("arme-id")
const weponId = li.data("item-id") this.actor.rollArme(armeId)
this.actor.rollWeapon(weponId)
}); });
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {

View File

@ -198,15 +198,9 @@ export class MaleficesActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getInitiativeScore(combatId, combatantId) { getInitiativeScore(combatId, combatantId) {
if (this.type == 'character') { let init = Math.floor(this.system.attributs.physique.value+this.system.attributs.habilete.value)
let init = this.getFlag("world", "initiative" ) let subvalue = new Roll("1d20").roll({async: false})
console.log("INIT", init) return init + (subvalue / 100)
if (!init || init == -1) {
ChatMessage.create( { content: "Roll your initiative for this combat"} )
}
return init
}
return -1;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -268,6 +262,12 @@ export class MaleficesActor extends Actor {
} }
} }
} }
/* -------------------------------------------- */
getAtttributImage( attrKey) {
return `systems/fvtt-malefices/images/icons/${attrKey}.webp`
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getCommonRollData() { getCommonRollData() {
@ -276,50 +276,54 @@ export class MaleficesActor extends Actor {
rollData.actorImg = this.img rollData.actorImg = this.img
rollData.actorId = this.id rollData.actorId = this.id
rollData.img = this.img rollData.img = this.img
rollData.phyMalus = this.getPhysiqueMalus()
console.log("ROLLDATA", rollData) console.log("ROLLDATA", rollData)
return rollData return rollData
} }
/* -------------------------------------------- */
getPhysiqueMalus() {
if ( this.system.attributs.constitution.value <= 8) {
return -(9 - this.system.attributs.constitution.value)
}
return 0
}
/* -------------------------------------------- */ /* -------------------------------------------- */
rollAtribut(attrKey, skillKey) { rollAttribut(attrKey) {
let attr = this.system.attributes[attrKey] let attr = this.system.attributs[attrKey]
let skill = attr.skills[skillKey] let rollData = this.getCommonRollData()
if (skill) { rollData.attr = duplicate(attr)
skill = duplicate(skill) rollData.mode = "attribut"
skill.name = MaleficesUtility.upperFirst(skillKey) rollData.title = attr.label
skill.attr = duplicate(attr) rollData.img = this.getAtttributImage(attrKey)
let rollData = this.getCommonRollData() this.startRoll(rollData)
rollData.mode = "skill"
rollMode.skillKey = skillKey
rollData.skill = skill
rollData.title = "Roll Skill " + skill.name
rollData.img = skill.img
this.startRoll(rollData)
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
rollArme(weaponId) { rollArme(weaponId) {
let weapon = this.items.get(weaponId) let arme = this.items.get(weaponId)
if (weapon) { if (arme) {
weapon = duplicate(weapon) arme = duplicate(arme)
this.prepareWeapon(weapon)
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
rollData.modifier = this.system.bonus[weapon.system.weapontype] if (arme.system.armetype == "mainsnues" || arme.system.armetype == "epee") {
rollData.mode = "weapon" rollData.attr = { label: "(Physique+Habilité)/2", value: Math.floor( (this.getPhysiqueMalus()+this.system.attributs.physique+this.system.attributs.habilite) / 2) }
rollData.weapon = weapon } else {
rollData.img = weapon.img rollData.attr = duplicate(this.system.attributs.habilite)
}
rollData.mode = "arme"
rollData.arme = arme
rollData.img = arme.img
rollData.title = arme.name
this.startRoll(rollData) this.startRoll(rollData)
} else { } else {
ui.notifications.warn("Unable to find the relevant weapon ") ui.notifications.warn("Impossible de trouver l'arme concernée ")
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async startRoll(rollData) { async startRoll(rollData) {
this.syncRoll(rollData)
let rollDialog = await MaleficesRollDialog.create(this, rollData) let rollDialog = await MaleficesRollDialog.create(this, rollData)
rollDialog.render(true) rollDialog.render(true)
} }

View File

@ -7,11 +7,11 @@ import { MaleficesRollDialog } from "./malefices-roll-dialog.js";
export class MaleficesCommands { export class MaleficesCommands {
static init() { static init() {
if (!game.system.Malefices.commands) { if (!game.system.malefices.commands) {
const MaleficesCommands = new MaleficesCommands(); const commands = new MaleficesCommands();
//crucibleCommands.registerCommand({ path: ["/char"], func: (content, msg, params) => crucibleCommands.createChar(msg), descr: "Create a new character" }); //crucibleCommands.registerCommand({ path: ["/char"], func: (content, msg, params) => crucibleCommands.createChar(msg), descr: "Create a new character" });
//crucibleCommands.registerCommand({ path: ["/pool"], func: (content, msg, params) => crucibleCommands.poolRoll(msg), descr: "Generic Roll Window" }); //crucibleCommands.registerCommand({ path: ["/pool"], func: (content, msg, params) => crucibleCommands.poolRoll(msg), descr: "Generic Roll Window" });
game.system.Malefices.commands = MaleficesCommands; game.system.malefices.commands = commands;
} }
} }
constructor() { constructor() {

View File

@ -58,7 +58,7 @@ export class MaleficesItemSheet extends ItemSheet {
editable: this.isEditable, editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked", cssClass: this.isEditable ? "editable" : "locked",
system: duplicate(this.object.system), system: duplicate(this.object.system),
config: duplicate(game.system.malefices), config: duplicate(game.system.malefices.config),
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,

View File

@ -58,11 +58,14 @@ export class MaleficesRollDialog extends Dialog {
} }
$(function () { onLoad(); }); $(function () { onLoad(); });
html.find('#bonusMalusRoll').change((event) => { html.find('#bonusMalusSituation').change((event) => {
this.rollData.bonusMalusRoll = event.currentTarget.value this.rollData.bonusMalusSituation = Number(event.currentTarget.value)
}) })
html.find('#targetCheck').change((event) => { html.find('#bonusMalusPerso').change((event) => {
this.rollData.targetCheck = event.currentTarget.value this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
})
html.find('#bonusMalusDef').change((event) => {
this.rollData.bonusMalusDef = Number(event.currentTarget.value)
}) })
} }

View File

@ -155,20 +155,7 @@ export class MaleficesUtility {
const templatePaths = [ const templatePaths = [
'systems/fvtt-malefices/templates/actors/editor-notes-gm.hbs', 'systems/fvtt-malefices/templates/actors/editor-notes-gm.hbs',
'systems/fvtt-malefices/templates/items/partial-item-nav.hbs', 'systems/fvtt-malefices/templates/items/partial-item-nav.hbs',
'systems/fvtt-malefices/templates/items/partial-item-description.hbs', 'systems/fvtt-malefices/templates/items/partial-item-description.hbs'
'systems/fvtt-malefices/templates/items/partial-common-item-fields.hbs',
'systems/fvtt-malefices/templates/items/partial-options-damage-types.hbs',
'systems/fvtt-malefices/templates/items/partial-options-weapon-types.hbs',
'systems/fvtt-malefices/templates/items/partial-options-weapon-categories.hbs',
'systems/fvtt-malefices/templates/items/partial-options-attributes.hbs',
'systems/fvtt-malefices/templates/items/partial-options-equipment-types.hbs',
'systems/fvtt-malefices/templates/items/partial-options-armor-types.hbs',
'systems/fvtt-malefices/templates/items/partial-options-spell-types.hbs',
'systems/fvtt-malefices/templates/items/partial-options-spell-levels.hbs',
'systems/fvtt-malefices/templates/items/partial-options-spell-schools.hbs',
'systems/fvtt-malefices/templates/items/partial-options-focus-bond.hbs',
'systems/fvtt-malefices/templates/items/partial-options-focus-treatment.hbs',
'systems/fvtt-malefices/templates/items/partial-options-focus-core.hbs',
] ]
return loadTemplates(templatePaths); return loadTemplates(templatePaths);
} }
@ -510,24 +497,8 @@ export class MaleficesUtility {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
// Build the dice formula // Build the dice formula
let diceFormula = "1d12" let diceFormula = "1d20"
if (rollData.skill) { rollData.target = rollData.attr.value + rollData.bonusMalusPerso + rollData.bonusMalusSituation + rollData.bonusMalusDef
diceFormula += "+" + rollData.skill.finalvalue
}
if (rollData.crafting) {
diceFormula += "+" + rollData.crafting.system.level
}
if (rollData.spellAttack) {
diceFormula += "+" + rollData.spellAttack
}
diceFormula += "+" + rollData.bonusMalusRoll
if (rollData.skill && rollData.skill.good) {
diceFormula += "+1d4"
}
if (rollData.weapon ) {
diceFormula += "+" + rollData.weapon.attackBonus
}
rollData.diceFormula = diceFormula rollData.diceFormula = diceFormula
// Performs roll // Performs roll
@ -540,22 +511,26 @@ export class MaleficesUtility {
rollData.roll = myRoll rollData.roll = myRoll
rollData.isSuccess = false rollData.isSuccess = false
if (rollData.targetCheck != "none") { if (myRoll.total <= rollData.target ) {
if (myRoll.total >= Number(rollData.targetCheck)) { rollData.isSuccess = true
rollData.isSuccess = true
}
} }
if (myRoll.total == 1 ) {
if (rollData.spell) { rollData.isSuccess = true
actor.spentFocusPoints(rollData.spell) rollData.isCritical = true
}
if (myRoll.total == 20 ) {
rollData.isSuccess = false
rollData.isFumble = true
}
if (myRoll.total <= Math.floor(rollData.target/3) ) {
rollData.isPart = true
} }
let msg = await this.createChatWithRollMode(rollData.alias, { let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-malefices/templates/chat/chat-generic-result.hbs`, rollData) content: await renderTemplate(`systems/fvtt-malefices/templates/chat/chat-generic-result.hbs`, rollData)
}) })
msg.setFlag("world", "rolldata", rollData) msg.setFlag("world", "rolldata", rollData)
if (rollData.skillKey == "initiative") { if (rollData.mode == "initiative") {
console.log("REGISTERED")
actor.setFlag("world", "initiative", myRoll.total) actor.setFlag("world", "initiative", myRoll.total)
} }
@ -649,8 +624,9 @@ export class MaleficesUtility {
static getBasicRollData() { static getBasicRollData() {
let rollData = { let rollData = {
rollId: randomID(16), rollId: randomID(16),
bonusMalusRoll: 0, bonusMalusPerso: 0,
targetCheck: "none", bonusMalusSituation: 0,
bonusMalusDef: 0,
rollMode: game.settings.get("core", "rollMode") rollMode: game.settings.get("core", "rollMode")
} }
MaleficesUtility.updateWithTarget(rollData) MaleficesUtility.updateWithTarget(rollData)

View File

@ -222,9 +222,9 @@ table {border: 1px solid #7a7971;}
-webkit-box-flex: 0; -webkit-box-flex: 0;
-ms-flex: 0 0 128px; -ms-flex: 0 0 128px;
flex: 0 0 128px; flex: 0 0 128px;
width: 128px; width: 256px;
height: auto; height: auto;
max-height:160px; max-height:256px;
margin-top: 0px; margin-top: 0px;
margin-right: 10px; margin-right: 10px;
object-fit: cover; object-fit: cover;
@ -561,8 +561,8 @@ ul, li {
.list-item { .list-item {
margin: 0.125rem; margin: 0.125rem;
box-shadow: inset 0px 0px 1px #00000096; /*box-shadow: inset 0px 0px 1px #00000096;
border-radius: 0.25rem; border-radius: 0.25rem;*/
padding: 0.125rem; padding: 0.125rem;
flex: 1 1 5rem; flex: 1 1 5rem;
display: flex !important; display: flex !important;
@ -1186,10 +1186,10 @@ ul, li {
color: #CCC color: #CCC
} }
#pause > img { #pause > img {
content: url(../images/ui/crucible_pause_logo.jpg); content: url(../images/ui/logo_pause.webp);
height: 160px; height: 200px;
width: 160px; width: 200px;
top: -80px; top: -100px;
left: calc(50% - 132px); left: calc(50% - 132px);
} }
@ -1302,8 +1302,8 @@ ul, li {
.item-field-label-long { .item-field-label-long {
margin-top: 4px; margin-top: 4px;
flex-grow:1; flex-grow:1;
max-width: 8rem; max-width: 10rem;
min-width: 8rem; min-width: 10rem;
} }
.item-control-end { .item-control-end {
align-self: flex-end; align-self: flex-end;

View File

@ -37,7 +37,7 @@
], ],
"title": "Maléfices, le Jeu de Rôle", "title": "Maléfices, le Jeu de Rôle",
"url": "https://www.uberwald.me/gitea/public/fvtt-malefices", "url": "https://www.uberwald.me/gitea/public/fvtt-malefices",
"version": "10.0.0", "version": "10.0.1",
"download": "https://www.uberwald.me/gitea/public/fvtt-malefices/archive/fvtt-malefices-v10.0.0.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-malefices/archive/fvtt-malefices-v10.0.1.zip",
"background": "systems/fvtt-malefices/images/ui/malefice_welcome_page.webp" "background": "systems/fvtt-malefices/images/ui/malefice_welcome_page.webp"
} }

View File

@ -39,6 +39,7 @@
"label": "Constitution", "label": "Constitution",
"abbrev": "constitution", "abbrev": "constitution",
"value": 0, "value": 0,
"hasmax": true,
"max": 0 "max": 0
}, },
"physique": { "physique": {
@ -68,12 +69,14 @@
"spiritualite": { "spiritualite": {
"label": "Spiritualite", "label": "Spiritualite",
"abbrev": "spiritualite", "abbrev": "spiritualite",
"hasmax": true,
"value": 0, "value": 0,
"max": 0 "max": 0
}, },
"rationnalite": { "rationnalite": {
"label": "Rationnalite", "label": "Rationnalite",
"abbrev": "rationnalite", "abbrev": "rationnalite",
"hasmax": true,
"value": 0, "value": 0,
"max": 0 "max": 0
} }
@ -93,17 +96,22 @@
}, },
"Item": { "Item": {
"types": [ "types": [
"arme" "arme",
"equipement"
], ],
"templates": { "templates": {
}, },
"equipement" : {
"description": ""
},
"arme" : { "arme" : {
"armetype": 0, "armetype": 0,
"dommagenormale": 0, "dommagenormale": 0,
"dommagepart": 0, "dommagepart": 0,
"dommagecritique": 0, "dommagecritique": 0,
"dommagecritiqueKO": false, "dommagecritiqueKO": false,
"dommagecritiquemort": false "dommagecritiquemort": false,
"description": ""
} }
} }
} }

View File

@ -3,51 +3,12 @@
{{!-- Sheet Header --}} {{!-- Sheet Header --}}
<header class="sheet-header"> <header class="sheet-header">
<div class="header-fields"> <div class="header-fields">
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow"> <div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" /> <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="flexcol"> <div class="flexcol">
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow"> <div class="flexrow">
{{#each system.attributes as |attr attrKey|}}
<div class="flexcol">
<div class="flexrow flexrow-no-expand">
<span class="attribute-label">{{attr.label}}</span>
<input type="text" class="item-field-label-short" name="system.attributes.{{attrKey}}.value" value="{{attr.value}}" data-dtype="Number"/>
</div>
{{#each attr.skills as |skill skillKey|}}
<div class="flexrow flexrow-no-expand">
<span class="item-field-skill skill-label">
<a class="roll-skill" data-attr-key="{{attrKey}}" data-skill-key="{{skillKey}}">
<i class="fa-solid fa-dice-d12"></i> {{upperFirst skillKey}} {{skill.finalvalue}}</a>
</span>
<input type="checkbox" class="skill-good-checkbox" name="system.attributes.{{attrKey}}.skills.{{skillKey}}.good" {{checked skill.good}} />
</div>
{{/each}}
<div class="flexrow flexrow-no-expand">
<span class="attribute-label">&nbsp;</span>
</div>
{{#if (eq attrKey "might")}}
<div class="flexrow flexrow-no-expand">
<span class="attribute-label">Universal</span>
</div>
{{#each @root.system.universal.skills as |skill skillKey|}}
<div class="flexrow flexrow-no-expand">
<span class="item-field-skill skill-label">
<a class="roll-universal" data-skill-key="{{skillKey}}">
<i class="fa-solid fa-dice-d12"></i> {{upperFirst skillKey}}
</a>
</span>
<input type="text" class="item-input-small" name="system.universal.skills.{{skillKey}}.finalvalue" value="{{skill.finalvalue}}" data-dtype="Number"/>
</div>
{{/each}}
{{else}}
<div class="flexrow">
</div>
{{/if}}
</div>
{{/each}}
</div> </div>
</div> </div>
@ -58,14 +19,10 @@
{{!-- Sheet Tab Navigation --}} {{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary"> <nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="main">Main</a> <a class="item" data-tab="main">Principal</a>
<a class="item" data-tab="modules">Modules</a> <a class="item" data-tab="equipements">Equipements</a>
<a class="item" data-tab="spells">Spells</a> <a class="item" data-tab="biodata">Biographie</a>
<a class="item" data-tab="moves">Moves</a> <a class="item" data-tab="notes">Notes</a>
<a class="item" data-tab="traits">Traits</a>
<a class="item" data-tab="equipment">Equipment</a>
<a class="item" data-tab="crafting">Crafting</a>
<a class="item" data-tab="biodata">Biography</a>
</nav> </nav>
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
@ -74,333 +31,78 @@
{{!-- Skills Tab --}} {{!-- Skills Tab --}}
<div class="tab main" data-group="primary" data-tab="main"> <div class="tab main" data-group="primary" data-tab="main">
<ul class="stat-list alternate-list item-list"> <div class="grid grid-2col">
<li class="item flexrow list-item"> <div>
<span class="item-name-label-header-short">Level</span> <ul class="stat-list alternate-list item-list">
<input type="text" class="item-field-label-short" name="system.level.value" value="{{system.level.value}}" data-dtype="Number"/>
<span class="item-name-label-header-short">&nbsp;</span>
<span class="item-name-label-header-short">Health</span>
<input type="text" class="item-field-label-short" name="system.health.value" value="{{system.health.value}}" data-dtype="Number"/> /
<input type="text" class="item-field-label-short" name="system.health.max" value="{{system.health.max}}" data-dtype="Number" disabled/>
<span class="item-name-label-header-medium">&nbsp;</span>
</li>
</ul>
<div class="grid-2col">
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long">
<h3><label class="items-title-text">Mitigations</label></h3>
</span>
</li>
{{#each system.mitigation as |mitigation key|}}
<li class="item flexrow list-item list-item-shadow" data-mitigation-id="{{key}}">
<span class="item-name-label-medium">{{mitigation.label}}</span>
<span class="item-name-label-short">{{mitigation.value}}</span>
</li>
{{/each}}
</ul>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long">
<h3><label class="items-title-text">Bonuses</label></h3>
</span>
</li>
{{#each system.bonus as |bonus key|}}
<li class="item flexrow list-item list-item-shadow" data-bonus-id="{{key}}">
<span class="item-name-label-medium">{{upperFirst key}}</span>
<ul class="ul-level1">
{{#each bonus as |value key2|}}
<li class="item flexrow list-item list-item-shadow" data-bonus-id="{{key}}">
<span class="item-name-label-short">{{upperFirst key2}}</span>
<span class="item-name-label-short">{{value}}</span>
</li>
{{/each}}
</ul>
</li>
{{/each}}
</ul>
</div>
</div>
{{!-- Modules Tab --}}
<div class="tab modules" data-group="primary" data-tab="modules">
<div class="flexcol">
<ul class="stat-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-long"> <span class="item-name-label-header">
<h3><label class="items-title-text">Modules</label></h3> <h3><label class="items-title-text">Attributs</label></h3>
</span> </span>
</li> </li>
{{#each modules as |module key|}} {{#each system.attributs as |attr key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{module._id}}"> <li class="item flexrow list-item">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" <span class="item-field-label-long"><a class="roll-attribut" data-attr-key="{{key}}">{{attr.label}}<i class="fa-solid fa-dice-d20"></i></a></span>
src="{{module.img}}" /></a> <input type="text" class="item-field-label-short" name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number"/>
<span class="item-name-label-long"><a class ="item-edit">{{module.name}}</a></span> {{#if attr.hasmax}}
<input type="text" class="item-field-label-short" name="system.attributs.{{key}}.max" value="{{attr.max}}" data-dtype="Number"/>
<div class="item-filler">&nbsp;</div> {{/if}}
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li> </li>
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
</div> <div>
<ul class="stat-list alternate-list item-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Armes</label></h3>
</span>
</li>
{{#each armes as |arme key|}}
{{!-- Spells Tab --}} <li class="item flexrow list-item">
<div class="tab spells" data-group="primary" data-tab="spells"> <span class="item-field-label-long"><a class="roll-arme" data-arme-id="{{arme._id}}">{{arme.name}}<i class="fa-solid fa-dice-d20"></i></a></span>
</li>
<div class="flexcol"> {{/each}}
</ul>
<ul class="stat-list alternate-list"> </div>
<li class="item flexrow list-item">
<span class="item-name-label-header-short">Focus Regen</span>
<input type="text" class="item-field-label-short" value="{{system.focus.focusregen}}" data-dtype="Number" disabled/>
<span class="item-name-label-header-short">&nbsp;</span>
<span class="item-name-label-header-short">Focus Points</span>
<input type="text" class="item-field-label-short" name="system.focus.currentfocuspoints" value="{{system.focus.currentfocuspoints}}" data-dtype="Number"/> /
<input type="text" class="item-field-label-short" value="{{system.focus.focuspoints}}" data-dtype="Number" disabled/>
<span class="item-name-label-header-medium">&nbsp;</span>
</li>
</ul>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Name</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Level</label>
</span>
</li>
{{#each spells as |spell key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{spell._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{spell.img}}" /></a>
<span class="item-name-label">
<a class="roll-spell"><i class="fa-solid fa-dice-d12"> </i>{{spell.name}}</a>
</span>
<span class="item-field-label-medium">{{upperFirst spell.system.spelltype}}</span>
<span class="item-field-label-medium">{{upperFirst spell.system.level}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div> </div>
</div>
{{!-- moves Tab --}}
<div class="tab moves" data-group="primary" data-tab="moves">
<div class="flexcol">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header item-name-label-header-long2">
<h3><label class="item-name-label-header-long2">Equipped Weapons</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Damage</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Critical</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Brutal</label>
</span>
</li>
{{#each equippedWeapons as |weapon key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a>
<span class="item-name-label-long2"><a class="roll-weapon"><i class="fa-solid fa-dice-d12"></i>{{weapon.name}}</a></span>
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="normal"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.normal}}</label></a></span>
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="critical"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.critical}}</label></a></span>
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="brutal"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.brutal}}</label></a></span>
<div class="item-filler">&nbsp;</div>
</li>
{{/each}}
</ul>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Name</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Level</label>
</span>
</li>
{{#each spells as |spell key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{spell._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{spell.img}}" /></a>
<span class="item-name-label">
<a class="spell-roll">{{spell.name}}</a>
</span>
<span class="item-field-label-medium">{{upperFirst spell.system.spelltype}}</span>
<span class="item-field-label-medium">{{upperFirst spell.system.level}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div>
{{!-- traits Tab --}}
<div class="tab traits" data-group="primary" data-tab="traits">
<div class="flexcol">
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Name</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Level</label>
</span>
</li>
{{#each traits as |trait key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{trait._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{trait.img}}" /></a>
<span class="item-name-label">
<a class="spell-roll">{{trait.name}}</a>
</span>
<span class="item-field-label-medium">{{upperFirst trait.system.spelltype}}</span>
<span class="item-field-label-medium">{{upperFirst trait.system.level}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div> </div>
{{!-- Equipement Tab --}} {{!-- Equipement Tab --}}
<div class="tab equipment" data-group="primary" data-tab="equipment"> <div class="tab equipements" data-group="primary" data-tab="equipements">
<div class="flexrow">
<h3>Encumbrance</h3>
<span class="small-label">Current : {{encCurrent}}</span>
<span class="small-label">Capacity : {{encCapacity}}</span>
</div>
<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">Money</label></h3> <h3><label class="items-title-text">Armes</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Qty</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="short-label">Weight</label> <label class="item-field-label-medium">Normaux</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="short-label">IDR</label> <label class="item-field-label-medium">Particulier</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="money" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each moneys as |money key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{money._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{money.img}}" /></a>
<span class="item-name-label">{{money.name}}</span>
<span class="item-field-label-long"><label>
{{money.system.quantity}}
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label>{{money.system.weight}}</label> <label class="item-field-label-medium">Critique</label>
</span>
<span class="item-field-label-medium">
{{#if money.system.idrDice}}
<a class="roll-idr" data-dice-value="{{money.data.idrDice}}">{{money.system.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<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">Weapons</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Attack</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Damage</label>
</span> </span>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a> <a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each weapons as |weapon key|}} {{#each armes as |arme key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}"> <li class="item flexrow list-item list-item-shadow" data-item-id="{{arme._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" <a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a> src="{{arme.img}}" /></a>
<span class="item-name-label">{{weapon.name}}</span> <span class="item-name-label">{{arme.name}}</span>
<span class="item-field-label-short"><label>{{upperFirst weapon.system.ability}}</label></span> <span class="item-field-label-medium"><label>{{arme.system.dommagenormale}}</label></span>
<span class="item-field-label-short"><label>{{upperFirst weapon.system.damage}}</label></span> <span class="item-field-label-medium"><label>{{arme.system.dommagepart}}</label></span>
<span class="item-field-label-medium"><label>{{arme.system.dommagecritique}}</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-equip" title="Worn">{{#if weapon.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
@ -410,75 +112,10 @@
<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">Armors</label></h3> <h3><label class="items-title-text">Equipements</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Absorption</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="armor" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each armors as |armor key|}}
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{armor.img}}" /></a>
<span class="item-name-label">{{armor.name}}</span>
<span class="item-field-label-short">{{upperFirst armor.system.armortype}}</span>
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if armor.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<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">Shields</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Dice</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="shield" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each shields as |shield key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{shield.img}}" /></a>
<span class="item-name-label">{{shield.name}}</span>
<span class="item-field-label-short">{{shield.system.levelDice}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if shield.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<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">Equipment</label></h3>
</span> </span>
<span class="item-field-label-long"> <span class="item-field-label-long">
<label class="short-label">Qty</label> <label class="short-label">Q.</label>
</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">
@ -486,22 +123,14 @@
</div> </div>
</li> </li>
{{#each equipments as |equip key|}} {{#each equipements as |equip key|}}
<li class="item list-item flexrow list-item-shadow" data-item-id="{{equip._id}}"> <li class="item list-item flexrow list-item-shadow" data-item-id="{{equip._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" <a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{equip.img}}" /></a> src="{{equip.img}}" /></a>
<span class="item-name-label">{{equip.name}}</span> <span class="item-name-label">{{equip.name}}</span>
<span class="item-field-label-long"><label>
{{equip.system.quantity}}
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
</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-equip" title="Worn">{{#if equip.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
@ -512,47 +141,14 @@
</div> </div>
{{!-- Equipement Tab --}}
<div class="tab crafting" data-group="primary" data-tab="crafting">
<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">Crafting</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Level</label>
</span>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each craftingSkills as |crafting key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{crafting._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{crafting.img}}" /></a>
<span class="item-name-label"> <a class="roll-crafting"><i class="fa-solid fa-dice-d12"> </i>{{crafting.name}}</a></span>
<span class="item-field-label-short"><label>{{crafting.system.level}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{!-- Biography Tab --}} {{!-- Biography Tab --}}
<div class="tab biodata" data-group="primary" data-tab="biodata"> <div class="tab biodata" data-group="primary" data-tab="biodata">
<div class="grid grid-2col"> <div class="grid grid-2col">
<div> <div>
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow"> <li class="item flexrow">
<label class="generic-label">Origin</label> <label class="generic-label">Lieu de naissance</label>
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}" <input type="text" class="" name="system.biodata.lieunaissance" value="{{data.biodata.origin}}"
data-dtype="String" /> data-dtype="String" />
</li> </li>
<li class="item flexrow"> <li class="item flexrow">
@ -560,53 +156,65 @@
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" /> <input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
</li> </li>
<li class="item flexrow"> <li class="item flexrow">
<label class="generic-label">Height</label> <label class="generic-label">Nationalité</label>
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" /> <input type="text" class="" name="system.biodata.nationalite" value="{{data.biodata.nationalite}}" data-dtype="String" />
</li> </li>
<li class="item flexrow"> <li class="item flexrow">
<label class="generic-label">Eyes</label> <label class="generic-label">Enfance</label>
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" /> <input type="text" class="" name="system.biodata.enfance" value="{{data.biodata.enfance}}" data-dtype="String" />
</li> </li>
<li class="item flexrow"> <li class="item flexrow">
<label class="generic-label">Hair</label> <label class="generic-label">Vie d'adulte</label>
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" /> <input type="text" class="" name="system.biodata.adulte" value="{{data.biodata.adulte}}" data-dtype="String" />
</li>
<li class="item flexrow">
<label class="generic-label">Loisirs</label>
<input type="text" class="" name="system.biodata.loisirs" value="{{data.biodata.loisirs}}" data-dtype="String" />
</li> </li>
</ul> </ul>
</div> </div>
<div> <div>
<ul> <ul>
<li class="flexrow item"> <li class="flexrow item">
<label class="generic-label">Size</label> <label class="generic-label">Milieu social</label>
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number"> <input type="text" class="" name="system.biodata.milieusocial" value="{{data.biodata.milieusocial}}" data-dtype="String" />
{{#select data.biodata.size}}
<option value="1">Tiny</option>
<option value="2">Small</option>
<option value="3">Medium</option>
<option value="4">Large</option>
<option value="5">Huge</option>
<option value="6">Gargantuan</option>
{{/select}}
</select>
</li> </li>
<li class="flexrow item"> <li class="item flexrow">
<label class="generic-label">Sex</label> <label class="generic-label">Profession</label>
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" /> <input type="text" class="" name="system.biodata.profession" value="{{data.biodata.profession}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="item flexrow">
<label class="generic-label">Preferred Hand</label> <label class="generic-label">Résidence</label>
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}" <input type="text" class="" name="system.biodata.residence" value="{{data.biodata.residence}}" data-dtype="String" />
data-dtype="String" />
</li> </li>
<li class="flexrow item" data-item-id="{{race._id}}"> <li class="item flexrow">
<label class="generic-label">Race</label> <label class="generic-label">Singularité</label>
<a class="item-edit"><img class="stat-icon" src="{{race.img}}"></a> <input type="text" class="" name="system.biodata.singularite" value="{{data.biodata.singularite}}" data-dtype="String" />
<input type="text" class="" name="system.biodata.racename" value="{{data.biodata.racename}}" data-dtype="String" /> </li>
<li class="item flexrow">
<label class="generic-label">Orientation politique</label>
<input type="text" class="" name="system.biodata.politique" value="{{data.biodata.politique}}" data-dtype="String" />
</li>
<li class="item flexrow">
<label class="generic-label">Orientation religieuse</label>
<input type="text" class="" name="system.biodata.religion" value="{{data.biodata.religion}}" data-dtype="String" />
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<ul>
<li class="item flexrow">
<label class="generic-label">Position vis-à-vis du fantastique</label>
</li>
<li class="item flexrow">
<input type="text" class="" name="system.biodata.fantastique" value="{{data.biodata.fantastique}}" data-dtype="String" />
</li>
</ul>
</div>
<div class="tab notes" data-group="primary" data-tab="notes">
<hr> <hr>
<h3>Background : </h3> <h3>Background : </h3>
<div class="form-group editor"> <div class="form-group editor">
@ -621,6 +229,7 @@
<hr> <hr>
</article> </article>
</div> </div>
</div>
</section> </section>
</form> </form>

View File

@ -18,32 +18,48 @@
<div> <div>
<ul> <ul>
{{#if skill}} {{#if attr}}
<li>Skill : {{skill.name}} ({{skill.finalvalue}}) <li>{{attr.label}} : {{attr.value}}
</li> </li>
{{/if}} {{/if}}
{{#if crafting}} <li>Bonus/Malus perso: {{bonusMalusPerso}} </li>
<li>Crafting : {{crafting.name}} ({{crafting.system.level}}) <li>Bonus/Malus situation: {{bonusMalusSituation}} </li>
</li> <li>Seuil final: {{target}} </li>
{{/if}} <li>Resultat {{roll.total}} </li>
{{#if spell}} {{#if isSuccess}}
<li>Spell : {{spell.name}} ({{spell.system.level}}) {{#if isCritical}}
</li> <li><strong>Réussite Critique !</strong></li>
<li>Focus Points Spent : {{spellCost}} {{#if arme}}
</li> {{#if arme.system.dommagecritiquemort}}
{{/if}} <li><strong>La victime est morte !</strong></li>
{{else}}
<li>Bonus/Malus {{bonusMalusRoll}} </li> {{#if arme.system.dommagecritiqueko}}
<li>Dice Formula {{diceFormula}} </li> <li><strong>La victime est KO !</strong></li>
<li>Result {{roll.total}} </li> {{/if}}
<li><strong>La victime subit {{arme.system.dommagecritique}} dommages</strong></li>
{{#if (ne targetCheck "none")}} {{/if}}
{{#if isSuccess}} {{/if}}
<li><strong>Success !</strong></li>
{{else}} {{else}}
<li><strong>Failure !</strong></li> {{#if isPart}}
<li><strong>Réussite Particulière !</strong></li>
{{#if arme}}
<li><strong>La victime subit {{arme.system.dommagepart}} dommages</strong></li>
{{/if}}
{{else}}
<li><strong>Succés !</strong></li>
{{#if arme}}
<li><strong>La victime subit {{arme.system.dommagenormale}} dommages</strong></li>
{{/if}}
{{/if}}
{{/if}}
{{else}}
{{#if isFumble}}
<li><strong>Echec Critique !</strong></li>
{{else}}
<li><strong>Echec !</strong></li>
{{/if}} {{/if}}
{{/if}} {{/if}}

View File

@ -8,47 +8,17 @@
<div class="flexcol"> <div class="flexcol">
{{#if skill}} {{#if attr}}
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Skill : </span> <span class="roll-dialog-label">{{attr.label}} : </span>
<span class="roll-dialog-label">{{skill.name}} ({{skill.finalvalue}})</span> <span class="roll-dialog-label">{{attr.value}}</span>
</div>
{{/if}}
{{#if crafting}}
<div class="flexrow">
<span class="roll-dialog-label">Crafting : </span>
<span class="roll-dialog-label">{{crafting.name}} ({{crafting.system.level}})</span>
</div>
{{/if}}
{{#if weapon}}
<div class="flexrow">
<span class="roll-dialog-label">Weapon Attack Bonus : </span>
<span class="roll-dialog-label">{{weapon.attackBonus}}</span>
</div>
{{/if}}
{{#if spell}}
<div class="flexrow">
<span class="roll-dialog-label">Spell : </span>
<span class="roll-dialog-label">{{spell.name}} ({{upperFirst spell.system.level}} - Cost : {{spellCost}})</span>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Spell Attack level : </span>
<span class="roll-dialog-label">{{spellAttack}}</span>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Spell Damage level : </span>
<span class="roll-dialog-label">{{spellDamage}}</span>
</div> </div>
{{/if}} {{/if}}
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span> <span class="roll-dialog-label">Bonus/Malus biographique : </span>
<select id="bonusMalusRoll" name="bonusMalusRoll"> <select id="bonusMalusPerso" name="bonusMalusPerso">
{{#select bonusMalusRoll}} {{#select bonusMalusPerso}}
<option value="-4">-4</option>
<option value="-3">-3</option> <option value="-3">-3</option>
<option value="-2">-2</option> <option value="-2">-2</option>
<option value="-1">-1</option> <option value="-1">-1</option>
@ -56,31 +26,37 @@
<option value="1">+1</option> <option value="1">+1</option>
<option value="2">+2</option> <option value="2">+2</option>
<option value="3">+3</option> <option value="3">+3</option>
<option value="4">+4</option>
{{/select}} {{/select}}
</select> </select>
</div> </div>
{{#if (eq skillKey "initiative") }} <div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus de situation : </span>
<select id="bonusMalusSituation" name="bonusMalusSituation">
{{#select bonusMalusSituation}}
<option value="-3">-3</option>
<option value="-2">-2</option>
<option value="-1">-1</option>
<option value="0">0</option>
<option value="1">+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
{{/select}}
</select>
</div>
{{else}} {{#if arme}}
{{#if (or spell weapon)}} <div class="flexrow">
<span class="roll-dialog-label">Défense : </span>
{{else}} <select id="bonusMalusSituation" name="bonusMalusSituation">
<div class="flexrow"> {{#select bonusMalusSituation}}
<span class="roll-dialog-label">Target check : </span> <option value="-3">-6 (réussite critique)</option>
<select id="targetCheck" name="targetCheck"> <option value="-3">-3 (réussite)</option>
{{#select targetCheck}} <option value="0">0 (echec ou pas d'esquive)</option>
<option value="none">None</option> <option value="3">+3 (echec critique)</option>
<option value="5">5 (Trivial)</option> {{/select}}
<option value="7">7 (Easy)</option> </select>
<option value="10">10 (Regular)</option> </div>
<option value="14">14 (Difficult)</option>
<option value="20">20 (Heroic)</option>
{{/select}}
</select>
</div>
{{/if}}
{{/if}} {{/if}}
</div> </div>

View File

@ -6,13 +6,13 @@
</div> </div>
</header> </header>
{{> systems/fvtt-avd12/templates/items/partial-item-nav.hbs}} {{> systems/fvtt-malefices/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body"> <section class="sheet-body">
{{> systems/fvtt-avd12/templates/items/partial-item-description.hbs}} {{> systems/fvtt-malefices/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details"> <div class="tab details" data-group="primary" data-tab="details">
@ -22,9 +22,9 @@
<li class="flexrow"> <li class="flexrow">
<label class="item-field-label-long">Type d'arme</label> <label class="item-field-label-long">Type d'arme</label>
<select class="item-field-label-long" type="text" name="system.armetype" value="{{system.armetype}}" data-dtype="String"> <select class="item-field-label-long" type="text" name="system.armetype" value="{{system.armetype}}" data-dtype="String">
{{#select system.category}} {{#select system.armetype}}
{{#each config.armeTypes as |type key| }} {{#each config.armeTypes as |type key| }}
<option value="{{key}}">type</option> <option value="{{key}}">{{type}}</option>
{{/each}} {{/each}}
{{/select}} {{/select}}
</select> </select>

View File

@ -0,0 +1,27 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-malefices/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-malefices/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
</ul>
</div>
</div>
</section>
</form>