Initial release
BIN
images/icons/arbalete.webp
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
images/icons/arc.webp
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
images/icons/constitution.webp
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
images/icons/culturegenerale.webp
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
images/icons/fusil.webp
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
images/icons/habilite.webp
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
images/icons/mainsnues.webp
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
images/icons/perception.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
images/icons/physique.webp
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
images/icons/rationnalite.webp
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
images/icons/revolver.webp
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
images/icons/spiritualite.webp
Normal file
After Width: | Height: | Size: 37 KiB |
@ -14,8 +14,8 @@ export class MaleficesActorSheet extends ActorSheet {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-malefices", "sheet", "actor"],
|
||||
template: "systems/fvtt-malefices/templates/actors/actor-sheet.hbs",
|
||||
width: 960,
|
||||
height: 720,
|
||||
width: 640,
|
||||
height: 640,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
@ -38,7 +38,6 @@ export class MaleficesActorSheet extends ActorSheet {
|
||||
armes: duplicate(this.actor.getArmes()),
|
||||
equipements: duplicate(this.actor.getEquipements()),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
focusData: this.actor.computeFinalFocusData(),
|
||||
encCurrent: this.actor.encCurrent,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
@ -113,13 +112,11 @@ export class MaleficesActorSheet extends ActorSheet {
|
||||
|
||||
html.find('.roll-attribut').click((event) => {
|
||||
let attrKey = $(event.currentTarget).data("attr-key")
|
||||
let skillKey = $(event.currentTarget).data("skill-key")
|
||||
this.actor.rollSkill(attrKey, skillKey)
|
||||
this.actor.rollAttribut(attrKey)
|
||||
});
|
||||
html.find('.roll-arme').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const weponId = li.data("item-id")
|
||||
this.actor.rollWeapon(weponId)
|
||||
const armeId = $(event.currentTarget).data("arme-id")
|
||||
this.actor.rollArme(armeId)
|
||||
});
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
|
@ -198,15 +198,9 @@ export class MaleficesActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore(combatId, combatantId) {
|
||||
if (this.type == 'character') {
|
||||
let init = this.getFlag("world", "initiative" )
|
||||
console.log("INIT", init)
|
||||
if (!init || init == -1) {
|
||||
ChatMessage.create( { content: "Roll your initiative for this combat"} )
|
||||
}
|
||||
return init
|
||||
}
|
||||
return -1;
|
||||
let init = Math.floor(this.system.attributs.physique.value+this.system.attributs.habilete.value)
|
||||
let subvalue = new Roll("1d20").roll({async: false})
|
||||
return init + (subvalue / 100)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -268,6 +262,12 @@ export class MaleficesActor extends Actor {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getAtttributImage( attrKey) {
|
||||
return `systems/fvtt-malefices/images/icons/${attrKey}.webp`
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCommonRollData() {
|
||||
|
||||
@ -276,50 +276,54 @@ export class MaleficesActor extends Actor {
|
||||
rollData.actorImg = this.img
|
||||
rollData.actorId = this.id
|
||||
rollData.img = this.img
|
||||
rollData.phyMalus = this.getPhysiqueMalus()
|
||||
|
||||
console.log("ROLLDATA", rollData)
|
||||
|
||||
return rollData
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getPhysiqueMalus() {
|
||||
if ( this.system.attributs.constitution.value <= 8) {
|
||||
return -(9 - this.system.attributs.constitution.value)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollAtribut(attrKey, skillKey) {
|
||||
let attr = this.system.attributes[attrKey]
|
||||
let skill = attr.skills[skillKey]
|
||||
if (skill) {
|
||||
skill = duplicate(skill)
|
||||
skill.name = MaleficesUtility.upperFirst(skillKey)
|
||||
skill.attr = duplicate(attr)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "skill"
|
||||
rollMode.skillKey = skillKey
|
||||
rollData.skill = skill
|
||||
rollData.title = "Roll Skill " + skill.name
|
||||
rollData.img = skill.img
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
rollAttribut(attrKey) {
|
||||
let attr = this.system.attributs[attrKey]
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.attr = duplicate(attr)
|
||||
rollData.mode = "attribut"
|
||||
rollData.title = attr.label
|
||||
rollData.img = this.getAtttributImage(attrKey)
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollArme(weaponId) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
this.prepareWeapon(weapon)
|
||||
let arme = this.items.get(weaponId)
|
||||
if (arme) {
|
||||
arme = duplicate(arme)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.modifier = this.system.bonus[weapon.system.weapontype]
|
||||
rollData.mode = "weapon"
|
||||
rollData.weapon = weapon
|
||||
rollData.img = weapon.img
|
||||
if (arme.system.armetype == "mainsnues" || arme.system.armetype == "epee") {
|
||||
rollData.attr = { label: "(Physique+Habilité)/2", value: Math.floor( (this.getPhysiqueMalus()+this.system.attributs.physique+this.system.attributs.habilite) / 2) }
|
||||
} else {
|
||||
rollData.attr = duplicate(this.system.attributs.habilite)
|
||||
}
|
||||
rollData.mode = "arme"
|
||||
rollData.arme = arme
|
||||
rollData.img = arme.img
|
||||
rollData.title = arme.name
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the relevant weapon ")
|
||||
ui.notifications.warn("Impossible de trouver l'arme concernée ")
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async startRoll(rollData) {
|
||||
this.syncRoll(rollData)
|
||||
let rollDialog = await MaleficesRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
|
@ -7,11 +7,11 @@ import { MaleficesRollDialog } from "./malefices-roll-dialog.js";
|
||||
export class MaleficesCommands {
|
||||
|
||||
static init() {
|
||||
if (!game.system.Malefices.commands) {
|
||||
const MaleficesCommands = new MaleficesCommands();
|
||||
if (!game.system.malefices.commands) {
|
||||
const commands = new MaleficesCommands();
|
||||
//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" });
|
||||
game.system.Malefices.commands = MaleficesCommands;
|
||||
game.system.malefices.commands = commands;
|
||||
}
|
||||
}
|
||||
constructor() {
|
||||
|
@ -58,7 +58,7 @@ export class MaleficesItemSheet extends ItemSheet {
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: duplicate(this.object.system),
|
||||
config: duplicate(game.system.malefices),
|
||||
config: duplicate(game.system.malefices.config),
|
||||
limited: this.object.limited,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
|
@ -58,11 +58,14 @@ export class MaleficesRollDialog extends Dialog {
|
||||
}
|
||||
$(function () { onLoad(); });
|
||||
|
||||
html.find('#bonusMalusRoll').change((event) => {
|
||||
this.rollData.bonusMalusRoll = event.currentTarget.value
|
||||
html.find('#bonusMalusSituation').change((event) => {
|
||||
this.rollData.bonusMalusSituation = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#targetCheck').change((event) => {
|
||||
this.rollData.targetCheck = event.currentTarget.value
|
||||
html.find('#bonusMalusPerso').change((event) => {
|
||||
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#bonusMalusDef').change((event) => {
|
||||
this.rollData.bonusMalusDef = Number(event.currentTarget.value)
|
||||
})
|
||||
|
||||
}
|
||||
|
@ -155,20 +155,7 @@ export class MaleficesUtility {
|
||||
const templatePaths = [
|
||||
'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-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',
|
||||
'systems/fvtt-malefices/templates/items/partial-item-description.hbs'
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
@ -510,24 +497,8 @@ export class MaleficesUtility {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
// Build the dice formula
|
||||
let diceFormula = "1d12"
|
||||
if (rollData.skill) {
|
||||
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
|
||||
}
|
||||
let diceFormula = "1d20"
|
||||
rollData.target = rollData.attr.value + rollData.bonusMalusPerso + rollData.bonusMalusSituation + rollData.bonusMalusDef
|
||||
rollData.diceFormula = diceFormula
|
||||
|
||||
// Performs roll
|
||||
@ -540,22 +511,26 @@ export class MaleficesUtility {
|
||||
rollData.roll = myRoll
|
||||
|
||||
rollData.isSuccess = false
|
||||
if (rollData.targetCheck != "none") {
|
||||
if (myRoll.total >= Number(rollData.targetCheck)) {
|
||||
rollData.isSuccess = true
|
||||
}
|
||||
if (myRoll.total <= rollData.target ) {
|
||||
rollData.isSuccess = true
|
||||
}
|
||||
|
||||
if (rollData.spell) {
|
||||
actor.spentFocusPoints(rollData.spell)
|
||||
if (myRoll.total == 1 ) {
|
||||
rollData.isSuccess = true
|
||||
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, {
|
||||
content: await renderTemplate(`systems/fvtt-malefices/templates/chat/chat-generic-result.hbs`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
if (rollData.skillKey == "initiative") {
|
||||
console.log("REGISTERED")
|
||||
if (rollData.mode == "initiative") {
|
||||
actor.setFlag("world", "initiative", myRoll.total)
|
||||
}
|
||||
|
||||
@ -649,8 +624,9 @@ export class MaleficesUtility {
|
||||
static getBasicRollData() {
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
bonusMalusRoll: 0,
|
||||
targetCheck: "none",
|
||||
bonusMalusPerso: 0,
|
||||
bonusMalusSituation: 0,
|
||||
bonusMalusDef: 0,
|
||||
rollMode: game.settings.get("core", "rollMode")
|
||||
}
|
||||
MaleficesUtility.updateWithTarget(rollData)
|
||||
|
@ -222,9 +222,9 @@ table {border: 1px solid #7a7971;}
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 128px;
|
||||
flex: 0 0 128px;
|
||||
width: 128px;
|
||||
width: 256px;
|
||||
height: auto;
|
||||
max-height:160px;
|
||||
max-height:256px;
|
||||
margin-top: 0px;
|
||||
margin-right: 10px;
|
||||
object-fit: cover;
|
||||
@ -561,8 +561,8 @@ ul, li {
|
||||
|
||||
.list-item {
|
||||
margin: 0.125rem;
|
||||
box-shadow: inset 0px 0px 1px #00000096;
|
||||
border-radius: 0.25rem;
|
||||
/*box-shadow: inset 0px 0px 1px #00000096;
|
||||
border-radius: 0.25rem;*/
|
||||
padding: 0.125rem;
|
||||
flex: 1 1 5rem;
|
||||
display: flex !important;
|
||||
@ -1186,10 +1186,10 @@ ul, li {
|
||||
color: #CCC
|
||||
}
|
||||
#pause > img {
|
||||
content: url(../images/ui/crucible_pause_logo.jpg);
|
||||
height: 160px;
|
||||
width: 160px;
|
||||
top: -80px;
|
||||
content: url(../images/ui/logo_pause.webp);
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
top: -100px;
|
||||
left: calc(50% - 132px);
|
||||
}
|
||||
|
||||
@ -1302,8 +1302,8 @@ ul, li {
|
||||
.item-field-label-long {
|
||||
margin-top: 4px;
|
||||
flex-grow:1;
|
||||
max-width: 8rem;
|
||||
min-width: 8rem;
|
||||
max-width: 10rem;
|
||||
min-width: 10rem;
|
||||
}
|
||||
.item-control-end {
|
||||
align-self: flex-end;
|
||||
|
@ -37,7 +37,7 @@
|
||||
],
|
||||
"title": "Maléfices, le Jeu de Rôle",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-malefices",
|
||||
"version": "10.0.0",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-malefices/archive/fvtt-malefices-v10.0.0.zip",
|
||||
"version": "10.0.1",
|
||||
"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"
|
||||
}
|
@ -39,6 +39,7 @@
|
||||
"label": "Constitution",
|
||||
"abbrev": "constitution",
|
||||
"value": 0,
|
||||
"hasmax": true,
|
||||
"max": 0
|
||||
},
|
||||
"physique": {
|
||||
@ -68,12 +69,14 @@
|
||||
"spiritualite": {
|
||||
"label": "Spiritualite",
|
||||
"abbrev": "spiritualite",
|
||||
"hasmax": true,
|
||||
"value": 0,
|
||||
"max": 0
|
||||
},
|
||||
"rationnalite": {
|
||||
"label": "Rationnalite",
|
||||
"abbrev": "rationnalite",
|
||||
"hasmax": true,
|
||||
"value": 0,
|
||||
"max": 0
|
||||
}
|
||||
@ -93,17 +96,22 @@
|
||||
},
|
||||
"Item": {
|
||||
"types": [
|
||||
"arme"
|
||||
"arme",
|
||||
"equipement"
|
||||
],
|
||||
"templates": {
|
||||
},
|
||||
"equipement" : {
|
||||
"description": ""
|
||||
},
|
||||
"arme" : {
|
||||
"armetype": 0,
|
||||
"dommagenormale": 0,
|
||||
"dommagepart": 0,
|
||||
"dommagecritique": 0,
|
||||
"dommagecritiqueKO": false,
|
||||
"dommagecritiquemort": false
|
||||
"dommagecritiquemort": false,
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
}
|
@ -3,51 +3,12 @@
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
<div class="flexrow">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="flexcol">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
|
||||
<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"> </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>
|
||||
@ -58,14 +19,10 @@
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">Main</a>
|
||||
<a class="item" data-tab="modules">Modules</a>
|
||||
<a class="item" data-tab="spells">Spells</a>
|
||||
<a class="item" data-tab="moves">Moves</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>
|
||||
<a class="item" data-tab="main">Principal</a>
|
||||
<a class="item" data-tab="equipements">Equipements</a>
|
||||
<a class="item" data-tab="biodata">Biographie</a>
|
||||
<a class="item" data-tab="notes">Notes</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
@ -74,333 +31,78 @@
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-header-short">Level</span>
|
||||
<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"> </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"> </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">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Modules</label></h3>
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Attributs</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each modules as |module key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{module._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{module.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class ="item-edit">{{module.name}}</a></span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
{{#each system.attributs as |attr key|}}
|
||||
<li class="item flexrow list-item">
|
||||
<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>
|
||||
<input type="text" class="item-field-label-short" name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number"/>
|
||||
{{#if attr.hasmax}}
|
||||
<input type="text" class="item-field-label-short" name="system.attributs.{{key}}.max" value="{{attr.max}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</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>
|
||||
|
||||
|
||||
{{!-- Spells Tab --}}
|
||||
<div class="tab spells" data-group="primary" data-tab="spells">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<ul class="stat-list alternate-list">
|
||||
<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"> </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"> </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"> </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>
|
||||
{{#each armes as |arme key|}}
|
||||
<li class="item flexrow list-item">
|
||||
<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>
|
||||
{{/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"> </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"> </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"> </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>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
<div class="flexrow">
|
||||
<h3>Encumbrance</h3>
|
||||
<span class="small-label">Current : {{encCurrent}}</span>
|
||||
<span class="small-label">Capacity : {{encCapacity}}</span>
|
||||
</div>
|
||||
<div class="tab equipements" data-group="primary" data-tab="equipements">
|
||||
|
||||
<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">Money</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Qty</label>
|
||||
<h3><label class="items-title-text">Armes</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Weight</label>
|
||||
<label class="item-field-label-medium">Normaux</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">IDR</label>
|
||||
</span>
|
||||
<div class="item-filler"> </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>
|
||||
<label class="item-field-label-medium">Particulier</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label>{{money.system.weight}}</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}}
|
||||
-
|
||||
{{/if}}
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
<label class="item-field-label-medium">Critique</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 weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
{{#each armes as |arme key|}}
|
||||
<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"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label">{{weapon.name}}</span>
|
||||
<span class="item-field-label-short"><label>{{upperFirst weapon.system.ability}}</label></span>
|
||||
<span class="item-field-label-short"><label>{{upperFirst weapon.system.damage}}</label></span>
|
||||
src="{{arme.img}}" /></a>
|
||||
<span class="item-name-label">{{arme.name}}</span>
|
||||
<span class="item-field-label-medium"><label>{{arme.system.dommagenormale}}</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"> </div>
|
||||
<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>
|
||||
</div>
|
||||
</li>
|
||||
@ -410,75 +112,10 @@
|
||||
<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">Armors</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"> </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"> </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"> </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"> </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>
|
||||
<h3><label class="items-title-text">Equipements</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Qty</label>
|
||||
<label class="short-label">Q.</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -486,22 +123,14 @@
|
||||
</div>
|
||||
|
||||
</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}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{equip.img}}" /></a>
|
||||
<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"> </div>
|
||||
<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>
|
||||
</div>
|
||||
</li>
|
||||
@ -512,47 +141,14 @@
|
||||
|
||||
</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"> </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 --}}
|
||||
<div class="tab biodata" data-group="primary" data-tab="biodata">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Origin</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
<label class="generic-label">Lieu de naissance</label>
|
||||
<input type="text" class="" name="system.biodata.lieunaissance" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
@ -560,53 +156,65 @@
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Height</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
<label class="generic-label">Nationalité</label>
|
||||
<input type="text" class="" name="system.biodata.nationalite" value="{{data.biodata.nationalite}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
<label class="generic-label">Enfance</label>
|
||||
<input type="text" class="" name="system.biodata.enfance" value="{{data.biodata.enfance}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
<label class="generic-label">Vie d'adulte</label>
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Size</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#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>
|
||||
<label class="generic-label">Milieu social</label>
|
||||
<input type="text" class="" name="system.biodata.milieusocial" value="{{data.biodata.milieusocial}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sex</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Profession</label>
|
||||
<input type="text" class="" name="system.biodata.profession" value="{{data.biodata.profession}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Résidence</label>
|
||||
<input type="text" class="" name="system.biodata.residence" value="{{data.biodata.residence}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item" data-item-id="{{race._id}}">
|
||||
<label class="generic-label">Race</label>
|
||||
<a class="item-edit"><img class="stat-icon" src="{{race.img}}"></a>
|
||||
<input type="text" class="" name="system.biodata.racename" value="{{data.biodata.racename}}" data-dtype="String" />
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Singularité</label>
|
||||
<input type="text" class="" name="system.biodata.singularite" value="{{data.biodata.singularite}}" 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>
|
||||
</ul>
|
||||
</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>
|
||||
<h3>Background : </h3>
|
||||
<div class="form-group editor">
|
||||
@ -621,6 +229,7 @@
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -18,32 +18,48 @@
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
{{#if skill}}
|
||||
<li>Skill : {{skill.name}} ({{skill.finalvalue}})
|
||||
{{#if attr}}
|
||||
<li>{{attr.label}} : {{attr.value}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if crafting}}
|
||||
<li>Crafting : {{crafting.name}} ({{crafting.system.level}})
|
||||
</li>
|
||||
{{/if}}
|
||||
<li>Bonus/Malus perso: {{bonusMalusPerso}} </li>
|
||||
<li>Bonus/Malus situation: {{bonusMalusSituation}} </li>
|
||||
<li>Seuil final: {{target}} </li>
|
||||
<li>Resultat {{roll.total}} </li>
|
||||
|
||||
{{#if spell}}
|
||||
<li>Spell : {{spell.name}} ({{spell.system.level}})
|
||||
</li>
|
||||
<li>Focus Points Spent : {{spellCost}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li>Bonus/Malus {{bonusMalusRoll}} </li>
|
||||
<li>Dice Formula {{diceFormula}} </li>
|
||||
<li>Result {{roll.total}} </li>
|
||||
|
||||
{{#if (ne targetCheck "none")}}
|
||||
{{#if isSuccess}}
|
||||
<li><strong>Success !</strong></li>
|
||||
{{#if isSuccess}}
|
||||
{{#if isCritical}}
|
||||
<li><strong>Réussite Critique !</strong></li>
|
||||
{{#if arme}}
|
||||
{{#if arme.system.dommagecritiquemort}}
|
||||
<li><strong>La victime est morte !</strong></li>
|
||||
{{else}}
|
||||
{{#if arme.system.dommagecritiqueko}}
|
||||
<li><strong>La victime est KO !</strong></li>
|
||||
{{/if}}
|
||||
<li><strong>La victime subit {{arme.system.dommagecritique}} dommages</strong></li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{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}}
|
||||
|
||||
|
@ -8,47 +8,17 @@
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#if skill}}
|
||||
{{#if attr}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Skill : </span>
|
||||
<span class="roll-dialog-label">{{skill.name}} ({{skill.finalvalue}})</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>
|
||||
<span class="roll-dialog-label">{{attr.label}} : </span>
|
||||
<span class="roll-dialog-label">{{attr.value}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Bonus/Malus : </span>
|
||||
<select id="bonusMalusRoll" name="bonusMalusRoll">
|
||||
{{#select bonusMalusRoll}}
|
||||
<option value="-4">-4</option>
|
||||
<span class="roll-dialog-label">Bonus/Malus biographique : </span>
|
||||
<select id="bonusMalusPerso" name="bonusMalusPerso">
|
||||
{{#select bonusMalusPerso}}
|
||||
<option value="-3">-3</option>
|
||||
<option value="-2">-2</option>
|
||||
<option value="-1">-1</option>
|
||||
@ -56,31 +26,37 @@
|
||||
<option value="1">+1</option>
|
||||
<option value="2">+2</option>
|
||||
<option value="3">+3</option>
|
||||
<option value="4">+4</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</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 (or spell weapon)}}
|
||||
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Target check : </span>
|
||||
<select id="targetCheck" name="targetCheck">
|
||||
{{#select targetCheck}}
|
||||
<option value="none">None</option>
|
||||
<option value="5">5 (Trivial)</option>
|
||||
<option value="7">7 (Easy)</option>
|
||||
<option value="10">10 (Regular)</option>
|
||||
<option value="14">14 (Difficult)</option>
|
||||
<option value="20">20 (Heroic)</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if arme}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défense : </span>
|
||||
<select id="bonusMalusSituation" name="bonusMalusSituation">
|
||||
{{#select bonusMalusSituation}}
|
||||
<option value="-3">-6 (réussite critique)</option>
|
||||
<option value="-3">-3 (réussite)</option>
|
||||
<option value="0">0 (echec ou pas d'esquive)</option>
|
||||
<option value="3">+3 (echec critique)</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
@ -6,13 +6,13 @@
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-avd12/templates/items/partial-item-nav.hbs}}
|
||||
{{> systems/fvtt-malefices/templates/items/partial-item-nav.hbs}}
|
||||
|
||||
|
||||
{{!-- 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">
|
||||
|
||||
@ -22,9 +22,9 @@
|
||||
<li class="flexrow">
|
||||
<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 system.category}}
|
||||
{{#select system.armetype}}
|
||||
{{#each config.armeTypes as |type key| }}
|
||||
<option value="{{key}}">type</option>
|
||||
<option value="{{key}}">{{type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
27
templates/items/item-equipement-sheet.hbs
Normal 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>
|