Sorts et dévotions
This commit is contained in:
parent
558a7c08a7
commit
3880dfb034
@ -31,6 +31,8 @@ export class VadentisActorSheet extends ActorSheet {
|
|||||||
data.editScore = this.options.editScore;
|
data.editScore = this.options.editScore;
|
||||||
data.donnees = this.actor.getDonnees();
|
data.donnees = this.actor.getDonnees();
|
||||||
data.competences = this.actor.getCompetences();
|
data.competences = this.actor.getCompetences();
|
||||||
|
data.sorts = this.actor.getSorts();
|
||||||
|
data.devotions = this.actor.getDevotions();
|
||||||
data.isGM = game.user.isGM;
|
data.isGM = game.user.isGM;
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@ -50,17 +52,6 @@ export class VadentisActorSheet extends ActorSheet {
|
|||||||
const item = this.actor.getOwnedItem(li.data("item-id"));
|
const item = this.actor.getOwnedItem(li.data("item-id"));
|
||||||
item.sheet.render(true);
|
item.sheet.render(true);
|
||||||
});
|
});
|
||||||
html.find('.item-equip').click(ev => {
|
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
|
||||||
const item = this.actor.equipObject( li.data("item-id") );
|
|
||||||
this.render(true);
|
|
||||||
});
|
|
||||||
html.find('.item-worn').click(ev => {
|
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
|
||||||
const item = this.actor.wornObject( li.data("item-id") );
|
|
||||||
this.render(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Delete Inventory Item
|
// Delete Inventory Item
|
||||||
html.find('.item-delete').click(ev => {
|
html.find('.item-delete').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
const li = $(ev.currentTarget).parents(".item");
|
||||||
@ -76,6 +67,16 @@ export class VadentisActorSheet extends ActorSheet {
|
|||||||
const competenceId = li.data("item-id");
|
const competenceId = li.data("item-id");
|
||||||
this.actor.rollCompetence(competenceId);
|
this.actor.rollCompetence(competenceId);
|
||||||
});
|
});
|
||||||
|
html.find('.sort-label a').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
const sortId = li.data("item-id");
|
||||||
|
this.actor.rollSort(sortId);
|
||||||
|
});
|
||||||
|
html.find('.devotion-label a').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
const devotionId = li.data("item-id");
|
||||||
|
this.actor.rollDevotion(devotionId);
|
||||||
|
});
|
||||||
html.find('.weapon-label a').click((event) => {
|
html.find('.weapon-label a').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
const weapon = this.actor.getOwnedItem(li.data("item-id"));
|
const weapon = this.actor.getOwnedItem(li.data("item-id"));
|
||||||
@ -93,11 +94,6 @@ export class VadentisActorSheet extends ActorSheet {
|
|||||||
let skillName = event.currentTarget.attributes.skillname.value;
|
let skillName = event.currentTarget.attributes.skillname.value;
|
||||||
this.actor.updateCompetence(skillName, "malus", parseInt(event.target.value));
|
this.actor.updateCompetence(skillName, "malus", parseInt(event.target.value));
|
||||||
});
|
});
|
||||||
html.find('.skill-xp').change((event) => {
|
|
||||||
let skillName = event.currentTarget.attributes.skillname.value;
|
|
||||||
//console.log("Competence changed :", skillName);
|
|
||||||
this.actor.updateSkillExperience(skillName, parseInt(event.target.value));
|
|
||||||
});
|
|
||||||
html.find('.lock-unlock-sheet').click((event) => {
|
html.find('.lock-unlock-sheet').click((event) => {
|
||||||
this.options.editScore = !this.options.editScore;
|
this.options.editScore = !this.options.editScore;
|
||||||
this.render(true);
|
this.render(true);
|
||||||
|
@ -57,6 +57,16 @@ export class VadentisActor extends Actor {
|
|||||||
return this.data.items.filter( item => item.type == 'donnee');
|
return this.data.items.filter( item => item.type == 'donnee');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getSorts() {
|
||||||
|
return this.data.items.filter( item => item.type == 'sort');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getDevotions() {
|
||||||
|
return this.data.items.filter( item => item.type == 'devotion');
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async updateCompetence( name, field, value) {
|
async updateCompetence( name, field, value) {
|
||||||
let competence = this.data.items.find( item => item.type == 'competence' && item.name == name);
|
let competence = this.data.items.find( item => item.type == 'competence' && item.name == name);
|
||||||
@ -66,9 +76,75 @@ export class VadentisActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollSort( sortId ) {
|
||||||
|
let sort = this.data.items.find( item => item.type == 'sort' && item._id == sortId );
|
||||||
|
if ( sort ) {
|
||||||
|
|
||||||
|
if ( sort.data.pe > this.data.data.stats.pointsenergie.value) { // Vérification du ~ de points d'énergie
|
||||||
|
ChatMessage.create({ content: `Vous n'avez pas assez de Points d'Energie pour lancer votre sort ${sort.name}` } );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let magieElementaire = this.data.data.magie['matriseelementaire'];
|
||||||
|
let statValue = magieElementaire.base + magieElementaire.malus + magieElementaire.bonus;
|
||||||
|
let formulaFull = `1d20+${magieElementaire.base}+${magieElementaire.malus}+${magieElementaire.bonus}`;
|
||||||
|
let myRoll = new Roll("1d20+"+statValue);
|
||||||
|
myRoll.evaluate();
|
||||||
|
myRoll.toMessage( { flavor: `Lancer de Sort : ${sort.name} (${formulaFull})` } );
|
||||||
|
|
||||||
|
console.log("ROLL", myRoll);
|
||||||
|
if (myRoll.total >= sort.data.difficulty) {
|
||||||
|
let content = `Votre sort ${sort.name} a réussi ! Vous perdez ${sort.data.pe} Points d'Energie et votre sort produit l'effet : <br>${sort.data.effect}`;
|
||||||
|
if ( sort.data.damage != "") {
|
||||||
|
if (myRoll.results[0] == 20 ) { // Critique ?
|
||||||
|
content += `<br>Et provoque les dégats critiques suivants : ${sort.data.damagecritical}`;
|
||||||
|
} else {
|
||||||
|
content += `<br>Et provoque les dégats suivants : ${sort.data.damage}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ChatMessage.create({ content:content} );
|
||||||
|
} else {
|
||||||
|
ChatMessage.create({ content: `Votre sort ${sort.name} a échoué !`});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollDevotion( devotionId ) {
|
||||||
|
let devotion = this.data.items.find( item => item.type == 'devotion' && item._id == devotionId );
|
||||||
|
if ( devotion ) {
|
||||||
|
|
||||||
|
if ( devotion.data.pe > this.data.data.stats.pointsenergie.value) { // Vérification du ~ de points d'énergie
|
||||||
|
ChatMessage.create({ content: `Vous n'avez pas assez de Points d'Energie pour lancer votre dévotion ${devotion.name}` } );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let devotionComp = this.data.data.magie['devotion'];
|
||||||
|
let statValue = devotionComp.base + devotionComp.malus + devotionComp.bonus;
|
||||||
|
let formulaFull = `1d20+${devotionComp.base}+${devotionComp.malus}+${devotionComp.bonus}`;
|
||||||
|
let myRoll = new Roll("1d20+"+statValue);
|
||||||
|
myRoll.evaluate();
|
||||||
|
myRoll.toMessage( { flavor: `Lancer de Dévotion : ${devotion.name} (${formulaFull})` } );
|
||||||
|
|
||||||
|
if (myRoll.total >= devotion.data.difficulty) {
|
||||||
|
let content = `Votre dévotion ${devotion.name} a réussie ! Vous perdez ${devotion.data.pe} Points d'Energie et votre dévotion produit l'effet : <br>${devotion.data.effect}`;
|
||||||
|
if ( devotion.data.damage != "") {
|
||||||
|
if (myRoll.results[0] == 20 ) { // Critique ?
|
||||||
|
content += `<br>Et provoque les dégats critiques suivants : ${devotion.data.damagecritical}`;
|
||||||
|
} else {
|
||||||
|
content += `<br>Et provoque les dégats suivants : ${devotion.data.damage}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ChatMessage.create({ content:content} );
|
||||||
|
} else {
|
||||||
|
ChatMessage.create({ content: `Votre dévotion ${devotion.name} a échoué !`});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollCompetence( competenceId ) {
|
rollCompetence( competenceId ) {
|
||||||
console.log("HERE !!!!", competenceId);
|
|
||||||
let competence = this.data.items.find( item => item.type == 'competence' && item._id == competenceId);
|
let competence = this.data.items.find( item => item.type == 'competence' && item._id == competenceId);
|
||||||
if ( competence) {
|
if ( competence) {
|
||||||
let statValue = competence.data.base + competence.data.malus + competence.data.bonus;
|
let statValue = competence.data.base + competence.data.malus + competence.data.bonus;
|
||||||
|
@ -44,7 +44,14 @@ export class VadentisItemSheet extends ItemSheet {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
let data = super.getData();
|
let data = super.getData();
|
||||||
|
if (data.item.type == 'sort') {
|
||||||
|
data.donnees = await VadentisUtility.getDonnees();
|
||||||
|
}
|
||||||
|
if (data.item.type == 'devotion') {
|
||||||
|
data.eglises = await VadentisUtility.getEglises();
|
||||||
|
}
|
||||||
data.isGM = game.user.isGM;
|
data.isGM = game.user.isGM;
|
||||||
|
console.log("DATA", data);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,6 +61,15 @@ export class VadentisUtility extends Entity {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static getDonnees( ) {
|
||||||
|
return this.loadCompendiumNames('foundryvtt-vadentis.donnees');
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static getEglises( ) {
|
||||||
|
return this.loadCompendiumNames('foundryvtt-vadentis.eglises');
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async confirmDelete(actorSheet, li) {
|
static async confirmDelete(actorSheet, li) {
|
||||||
let itemId = li.data("item-id");
|
let itemId = li.data("item-id");
|
||||||
|
8
packs/donnees.db
Normal file
8
packs/donnees.db
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{"name":"Donnée du Vent","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3Rm5NhRowtPPXDGY"}
|
||||||
|
{"name":"Donnée de l'Ombre","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5rTJDLgO7HjQsPbr"}
|
||||||
|
{"name":"Donnée du Feu","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"RrwN3NGZQZmlE1xn"}
|
||||||
|
{"name":"Donnée des Sentiments","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"aIpYtzCM1yWCDAU6"}
|
||||||
|
{"name":"Donnée de la Lumière","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"grt6xY5BY1kPGsmV"}
|
||||||
|
{"name":"Donnée de la Foudre","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"gypftiVXTACPuTg2"}
|
||||||
|
{"name":"Donnée de la Terre","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"huZaByOsJ4OgOQM0"}
|
||||||
|
{"name":"Donnée de l'Eau","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"donnee","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"xhNHMkKLL4kW0Sts"}
|
7
packs/eglises.db
Normal file
7
packs/eglises.db
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{"name":"Eglise des 26","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"1gQX3Uq6tVXAtQcX"}
|
||||||
|
{"name":"Eglise Estuanienne","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5T2uht7mCGI9rzyo"}
|
||||||
|
{"name":"Les Elus d'Estuans","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9bBe6gQLAnM5dpFq"}
|
||||||
|
{"name":"Eglise des Ombres","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KWX1EDBkp1yPhoa0"}
|
||||||
|
{"name":"Adorateurs de Yeshua","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"TV6QiHWXprN8PBjm"}
|
||||||
|
{"name":"Eglise du Soleil","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"muPAkVllu9D6cE7Q"}
|
||||||
|
{"name":"Eglise du Temps","permission":{"default":0,"sCecJLVlaPEcY7nF":3},"type":"eglise","data":{"description":""},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"nEAicuYriaP3hmc2"}
|
@ -672,17 +672,8 @@ ul, li {
|
|||||||
.arme-label,
|
.arme-label,
|
||||||
.generic-label,
|
.generic-label,
|
||||||
.competence-label,
|
.competence-label,
|
||||||
.astrologie-label,
|
.devotion-label,
|
||||||
.tache-label,
|
.sort-label,
|
||||||
.subacteur-label,
|
|
||||||
.chant-label,
|
|
||||||
.musique-label,
|
|
||||||
.oeuvre-label,
|
|
||||||
.chant-label,
|
|
||||||
.danse-label,
|
|
||||||
.recette-label,
|
|
||||||
.jeu-label,
|
|
||||||
.recettecuisine-label,
|
|
||||||
.description-label {
|
.description-label {
|
||||||
flex-grow: 2;
|
flex-grow: 2;
|
||||||
}
|
}
|
||||||
|
22
system.json
22
system.json
@ -2,11 +2,11 @@
|
|||||||
"name": "foundryvtt-vadentis",
|
"name": "foundryvtt-vadentis",
|
||||||
"title": "Vadentis",
|
"title": "Vadentis",
|
||||||
"description": "Système Vadentis pour FoundryVTT",
|
"description": "Système Vadentis pour FoundryVTT",
|
||||||
"version": "0.0.7",
|
"version": "0.0.9",
|
||||||
"manifestPlusVersion": "1.0.0",
|
"manifestPlusVersion": "1.0.0",
|
||||||
"minimumCoreVersion": "0.7.5",
|
"minimumCoreVersion": "0.7.5",
|
||||||
"compatibleCoreVersion": "0.7.9",
|
"compatibleCoreVersion": "0.7.9",
|
||||||
"templateVersion": 6,
|
"templateVersion": 7,
|
||||||
"author": "Uberwald",
|
"author": "Uberwald",
|
||||||
"esmodules": [ "modules/vadentis-main.js" ],
|
"esmodules": [ "modules/vadentis-main.js" ],
|
||||||
"styles": ["styles/simple.css"],
|
"styles": ["styles/simple.css"],
|
||||||
@ -14,6 +14,24 @@
|
|||||||
"media": [
|
"media": [
|
||||||
],
|
],
|
||||||
"packs": [
|
"packs": [
|
||||||
|
{
|
||||||
|
"name": "eglises",
|
||||||
|
"label": "Eglises",
|
||||||
|
"system": "foundryvtt-vadentis",
|
||||||
|
"module": "foundryvtt-vadentis",
|
||||||
|
"path": "./packs/eglises.db",
|
||||||
|
"entity": "Item",
|
||||||
|
"tags" : [ "eglise" ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "donnees",
|
||||||
|
"label": "Données",
|
||||||
|
"system": "foundryvtt-vadentis",
|
||||||
|
"module": "foundryvtt-vadentis",
|
||||||
|
"path": "./packs/donnees.db",
|
||||||
|
"entity": "Item",
|
||||||
|
"tags" : [ "données", "donnee" ]
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"library": false,
|
"library": false,
|
||||||
"languages": [
|
"languages": [
|
||||||
|
@ -94,9 +94,9 @@
|
|||||||
"difficulty": 0,
|
"difficulty": 0,
|
||||||
"description": "",
|
"description": "",
|
||||||
"effect": "",
|
"effect": "",
|
||||||
"critical": "",
|
|
||||||
"notes": "",
|
"notes": "",
|
||||||
"damage": ""
|
"damage": "",
|
||||||
|
"damagecritical": ""
|
||||||
},
|
},
|
||||||
"equipcommun": {
|
"equipcommun": {
|
||||||
"description": "",
|
"description": "",
|
||||||
|
@ -142,30 +142,39 @@
|
|||||||
|
|
||||||
{{!-- Sort Tab --}}
|
{{!-- Sort Tab --}}
|
||||||
<div class="tab sorts" data-group="primary" data-tab="sorts">
|
<div class="tab sorts" data-group="primary" data-tab="sorts">
|
||||||
<span><a class="lock-unlock-sheet"><img class="small-button-container"
|
<div class="flexcol">
|
||||||
src="systems/foundryvtt-shadows-over-sol/img/icons/{{#if data.editStatSkill}}unlocked.svg{{else}}locked.svg{{/if}}" alt="lock/unlock"
|
|
||||||
>{{#if data.editStatSkill}}Lock{{else}}Unlock{{/if}}</a></span>
|
<span class="generic-label">Sorts</span>
|
||||||
<h4>Sorts</h4>
|
|
||||||
<div class="flex-group-left flexcol skill-column">
|
|
||||||
<ul class="item-list alterne-list">
|
<ul class="item-list alterne-list">
|
||||||
<li class="item flexrow list-item" data-wound-name="light"><h4>Wounds : </h4></li>
|
{{#each sorts as |sort key|}}
|
||||||
<li class="item flexrow list-item" data-wound-name="light"><span class="skill-label">Light :</span>
|
<li class="item flexrow list-item" data-item-id="{{sort._id}}">
|
||||||
<input class="wound-value" type="text" woundname="light" value="{{numberFormat data.wounds.light decimals=0}}" data-dtype="number" {{#unless @root.data.editStatSkill}}disabled{{/unless}}/>
|
<img class="sheet-competence-img" src="{{sort.img}}"/>
|
||||||
|
<span class="sort-label"><a>{{sort.name}}</a></span>
|
||||||
|
<span class="sort-difficulty"><a>{{sort.data.difficulty}}</a></span>
|
||||||
|
<div class="item-controls">
|
||||||
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow list-item" data-wound-name="moderate"><span class="skill-label">Moderate :</span>
|
{{/each}}
|
||||||
<input class="wound-value" type="text" woundname="moderate" value="{{numberFormat data.wounds.moderate decimals=0}}" data-dtype="number" {{#unless @root.data.editStatSkill}}disabled{{/unless}}/>
|
</ul>
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item" data-wound-name="severe"><span class="skill-label">Severe :</span>
|
<span class="generic-label">Dévotions</span>
|
||||||
<input class="wound-value" type="text" woundname="severe" value="{{numberFormat data.wounds.severe decimals=0}}" data-dtype="number" {{#unless @root.data.editStatSkill}}disabled{{/unless}}/>
|
<ul class="item-list alterne-list">
|
||||||
</li>
|
{{#each devotions as |devotion key|}}
|
||||||
<li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Critical :</span>
|
<li class="item flexrow list-item" data-item-id="{{devotion._id}}">
|
||||||
<input class="wound-value" type="text" woundname="critical" value="{{numberFormat data.wounds.critical decimals=0}}" data-dtype="number" {{#unless @root.data.editStatSkill}}disabled{{/unless}}/>
|
<img class="sheet-competence-img" src="{{devotion.img}}"/>
|
||||||
</li>
|
<span class="devotion-label"><a>{{devotion.name}}</a></span>
|
||||||
<li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Total :</span>
|
<span class="sort-difficulty"><a>{{devotion.data.difficulty}}</a></span>
|
||||||
<span class="skill-label">{{data.currentWounds}} / {{data.totalWounds}}</span>
|
<div class="item-controls">
|
||||||
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Equipeme,t Tab --}}
|
{{!-- Equipeme,t Tab --}}
|
||||||
@ -219,102 +228,10 @@
|
|||||||
<div class="tab description" data-group="primary" data-tab="description">
|
<div class="tab description" data-group="primary" data-tab="description">
|
||||||
<article class="flexrow">
|
<article class="flexrow">
|
||||||
<ul class="item-list alternate-list">
|
<ul class="item-list alternate-list">
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label generic-label">Geneline : </label>
|
|
||||||
<label class="description-label generic-label item-link"><a data-item-id="{{data.geneline._id}}">{{data.geneline.name}}</a></label>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label generic-label">Main Subculture :</label>
|
|
||||||
<select class="stat-value flexrow" type="text" name="data.subculture" value="{{data.subculture}}" data-dtype="String">
|
|
||||||
{{#select data.subculture}}
|
|
||||||
{{#each data.subcultureList as |subculture key|}}
|
|
||||||
<option value="{{subculture.name}}">{{subculture.name}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Genre : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.sex" value="{{data.sex}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Weight : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.weight" value="{{data.weight}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Size : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.taille" value="{{data.taille}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="item-list alterne-list">
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Hair : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.hair" value="{{data.hair}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Eyes : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.eyes" value="{{data.eyes}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item">
|
|
||||||
<label class="description-label stat-label">Age : </label>
|
|
||||||
<input class="description-value flexrow" type="text" name="data.age" value="{{data.age}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
<article class="flexcol">
|
|
||||||
<div class="grid grid-3col">
|
|
||||||
|
|
||||||
<div class="flex-group-left flexcol genelang-column">
|
|
||||||
<span class="description-label">Familiar Subcultures</span>
|
|
||||||
<ul class="item-list alternate-list">
|
|
||||||
{{#each data.subcultureList as |subculture key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{subculture._id}}">
|
|
||||||
<img class="sheet-skill-img" src="{{subculture.img}}"/>
|
|
||||||
<span class="conseq-label genelang-label">{{subculture.name}}</span>
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="flex-group-left flexcol genelang-column">
|
|
||||||
<span class="description-label">Known Languages</span>
|
|
||||||
<ul class="item-list alternate-list">
|
|
||||||
{{#each data.languageList as |language key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{language._id}}">
|
|
||||||
<img class="sheet-skill-img" src="{{language.img}}"/>
|
|
||||||
<span class="conseq-label">{{language.name}}</span>
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="flex-group-left flexcol genelang-column">
|
|
||||||
<span class="description-label">Weaknesses</span>
|
|
||||||
<ul class="item-list alternate-list">
|
|
||||||
{{#each data.weaknessList as |weakness key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{weakness._id}}">
|
|
||||||
<img class="sheet-skill-img" src="{{weakness.img}}"/>
|
|
||||||
<span class="conseq-label">{{weakness.name}}</span>
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<article class="flexcol">
|
<article class="flexcol">
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Biography : </h3>
|
<h3>Biography : </h3>
|
||||||
|
@ -11,17 +11,24 @@
|
|||||||
|
|
||||||
<div class="tab" data-group="primary">
|
<div class="tab" data-group="primary">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="flexrow"><label class="generic-label">Eglise</label><input type="text" name="data.eglise" value="{{data.eglise}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Eglise</label>
|
||||||
|
<select class="competence-base flexrow" type="text" name="data.eglise" value="{{data.eglise}}" data-dtype="String">
|
||||||
|
{{#select data.eglise}}
|
||||||
|
{{#each eglises as |eglise key|}}
|
||||||
|
<option value="{{eglise.name}}">{{eglise.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
<li class="flexrow"><label class="generic-label">Points d'Energie</label><input type="text" name="data.pe" value="{{data.pe}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">Points d'Energie</label><input type="text" name="data.pe" value="{{data.pe}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Cible</label><input type="text" name="data.target" value="{{data.target}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Cible</label><input type="text" name="data.target" value="{{data.target}}" data-dtype="String"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Difficulté</label><input type="text" name="data.difficulty" value="{{data.difficulty}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">Difficulté</label><input type="text" name="data.difficulty" value="{{data.difficulty}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">XP</label><input type="text" name="data.xp" value="{{data.xp}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">XP</label><input type="text" name="data.xp" value="{{data.xp}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Dégâts</label><input type="text" name="data.damage" value="{{data.damage}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Dégâts</label><input type="text" name="data.damage" value="{{data.damage}}" data-dtype="String"/></li>
|
||||||
|
<li class="flexrow"><label class="generic-label">Dégâts Critiques</label><input type="text" name="data.damagecritical" value="{{data.damagecritical}}" data-dtype="String"/></li>
|
||||||
</ul>
|
</ul>
|
||||||
<label class="generic-label">Effets</label>
|
<label class="generic-label">Effets</label>
|
||||||
{{editor content=data.effect target="data.effect" button=true owner=owner editable=editable}}
|
{{editor content=data.effect target="data.effect" button=true owner=owner editable=editable}}
|
||||||
<label class="generic-label">Effets Critiques</label>
|
|
||||||
{{editor content=data.critical target="data.critical" button=true owner=owner editable=editable}}
|
|
||||||
<label class="generic-label">Notes</label>
|
<label class="generic-label">Notes</label>
|
||||||
{{editor content=data.notes target="data.notes" button=true owner=owner editable=editable}}
|
{{editor content=data.notes target="data.notes" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,17 +11,24 @@
|
|||||||
|
|
||||||
<div class="tab" data-group="primary">
|
<div class="tab" data-group="primary">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="flexrow"><label class="generic-label">Donnée</label><input type="text" name="data.donnee" value="{{data.donnee}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Donnée</label>
|
||||||
|
<select class="competence-base flexrow" type="text" name="data.donnee" value="{{data.donnee}}" data-dtype="String">
|
||||||
|
{{#select data.donnee}}
|
||||||
|
{{#each donnees as |donnee key|}}
|
||||||
|
<option value="{{donnee.name}}">{{donnee.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
<li class="flexrow"><label class="generic-label">Points d'Energie</label><input type="text" name="data.pe" value="{{data.pe}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">Points d'Energie</label><input type="text" name="data.pe" value="{{data.pe}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Cible</label><input type="text" name="data.target" value="{{data.target}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Cible</label><input type="text" name="data.target" value="{{data.target}}" data-dtype="String"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Difficulté</label><input type="text" name="data.difficulty" value="{{data.difficulty}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">Difficulté</label><input type="text" name="data.difficulty" value="{{data.difficulty}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">XP</label><input type="text" name="data.xp" value="{{data.xp}}" data-dtype="Number"/></li>
|
<li class="flexrow"><label class="generic-label">XP</label><input type="text" name="data.xp" value="{{data.xp}}" data-dtype="Number"/></li>
|
||||||
<li class="flexrow"><label class="generic-label">Dégâts</label><input type="text" name="data.damage" value="{{data.damage}}" data-dtype="String"/></li>
|
<li class="flexrow"><label class="generic-label">Dégâts</label><input type="text" name="data.damage" value="{{data.damage}}" data-dtype="String"/></li>
|
||||||
|
<li class="flexrow"><label class="generic-label">Dégâts Critiques</label><input type="text" name="data.damagecritical" value="{{data.damagecritical}}" data-dtype="String"/></li>
|
||||||
</ul>
|
</ul>
|
||||||
<label class="generic-label">Effets</label>
|
<label class="generic-label">Effets</label>
|
||||||
{{editor content=data.effect target="data.effect" button=true owner=owner editable=editable}}
|
{{editor content=data.effect target="data.effect" button=true owner=owner editable=editable}}
|
||||||
<label class="generic-label">Effets Critiques</label>
|
|
||||||
{{editor content=data.critical target="data.critical" button=true owner=owner editable=editable}}
|
|
||||||
<label class="generic-label">Notes</label>
|
<label class="generic-label">Notes</label>
|
||||||
{{editor content=data.notes target="data.notes" button=true owner=owner editable=editable}}
|
{{editor content=data.notes target="data.notes" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user