Ajout compétences créatures

This commit is contained in:
sladecraven 2020-09-20 16:36:39 +02:00
parent cd291c4ae0
commit 97cda9012c
27 changed files with 449 additions and 19 deletions

BIN
fonts/heures.ttf Normal file

Binary file not shown.

6
icons/.directory Normal file
View File

@ -0,0 +1,6 @@
[Dolphin]
SortRole=modificationtime
Timestamp=2020,9,20,16,0,24
Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails

BIN
icons/compcreature-beak.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
icons/compcreature-vol.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -31,21 +31,33 @@ export class RdDActor extends Actor {
data.items = [];
if (data.type == "personnage")
{
let competences = [];
const pack = game.packs.get("foundryvtt-reve-de-dragon.competences");
await pack.getIndex().then(index => competences = index);
for (let comp of competences)
{
let compItem = undefined;
await pack.getEntity(comp._id).then(skill => compItem = skill);
data.items.push(compItem);
}
this.push_competence( data, "foundryvtt-reve-de-dragon.competences" );
}
if (data.type == "humanoide")
{
this.push_competence( data, "foundryvtt-reve-de-dragon.competences-humanoide" );
}
if (data.type == "creature")
{
this.push_competence( data, "foundryvtt-reve-de-dragon.competences-creature" );
}
super.create(data, options);
}
/* -------------------------------------------- */
async push_competence( data, compendiumName ) {
let competences = [];
const pack = game.packs.get(compendiumName);
await pack.getIndex().then(index => competences = index);
for (let comp of competences)
{
let compItem = undefined;
await pack.getEntity(comp._id).then(skill => compItem = skill);
data.items.push(compItem);
}
}
/* -------------------------------------------- */
prepareData() {
super.prepareData();

22
module/rdd-calendrier.js Normal file
View File

@ -0,0 +1,22 @@
/* -------------------------------------------- */
const heures = [ "Vaisseau", "Sirène", "Faucon", "Couronne", "Dragon", "Epées", "Lyre", "Serpent", "Poisson Acrobate", "Araignée", "Roseau", "Château Dormant" ]
/* -------------------------------------------- */
export class RdDCalendrier extends Application {
data = {
saisons: [],
};
static get defaultOptions() {
const options = super.defaultOptions;
options.template = "systems/foundryvtt-reve-de-dragon/templates/calendar-template.html";
options.popOut = false;
options.resizable = false;
return options;
}
/*getData() {
return templateData;
}*/
}

View File

@ -13,6 +13,7 @@ import { RdDItemSheet } from "./item-sheet.js";
import { RdDActorSheet } from "./actor-sheet.js";
import { RdDUtility } from "./rdd-utility.js";
import { TMRUtility } from "./tmr-utility.js";
import { RdDCalendrier } from "./rdd-calendrier.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@ -133,7 +134,15 @@ Hooks.once("init", async function() {
Hooks.once("ready", function() {
ChatMessage.create( { title: "Bienvenu dans le Rêve !", content : "Bienvenu dans le Rêve des Dragons !<br> " +
"Vous trouverez quelques infos pour démarrer dans ce document : @Compendium[foundryvtt-reve-de-dragon.rappel-des-regles.7uGrUHGdPu0EmIu2]{Documentation MJ/Joueurs}" } );
} );
/* Affiche le calendrier */
let calendrier = new RdDCalendrier();
let templatePath = "systems/foundryvtt-reve-de-dragon/templates/calendar-template.html";
let templateData = {};
renderTemplate(templatePath, templateData).then(html => {
calendrier.render(true);
} );
});
/* -------------------------------------------- */
/* Foundry VTT Initialization */

View File

@ -94,6 +94,7 @@ export class RdDUtility {
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet.html',
//Items
'systems/foundryvtt-reve-de-dragon/templates/item-competence-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-competencecreature-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-arme-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-armure-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-objet-sheet.html',
@ -119,7 +120,9 @@ export class RdDUtility {
'systems/foundryvtt-reve-de-dragon/templates/dialog-competence.html',
'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-carac.html',
'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html',
'systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html'
'systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html',
// Calendrier
'systems/foundryvtt-reve-de-dragon/templates/calendar_template.html'
];
return loadTemplates(templatePaths);
@ -635,5 +638,4 @@ export class RdDUtility {
return true;
}
}

View File

@ -0,0 +1,21 @@
{"name":"Escalade","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_escalade.png","_id":"4GmpkphbsmQjvVVK"}
{"name":"Morsure","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-morsure.png","_id":"6DK46pyO0hzEuuUg"}
{"name":"Griffes et Crocs","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-griffes.png","_id":"BjqRrGtHtTzuNpZB"}
{"name":"Esquive","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_esquive.png","_id":"CYpxxf1uTa78NWR9"}
{"name":"Crête","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-crete.png","_id":"JTuBQCPdumw3DfxH"}
{"name":"Vol","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-vol.png","_id":"Kt7WlB5Ui97X211z"}
{"name":"Cornes","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-corne.png","_id":"LWQHz5ymNBzh6ZEr"}
{"name":"Bras-bouches","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-brasbouche.png","_id":"NctG7suzvGE7ZZzj"}
{"name":"Pierre Tenue","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-pierretenue.png","_id":"OzHBowOMADRwcVXR"}
{"name":"Contre","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-contre.png","_id":"QME3qvTducY1uqpw"}
{"name":"Pinces","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-pinces.png","_id":"RAnasKnoA3OQgwfv"}
{"name":"Mandibules","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-mandibules.png","_id":"XgfRxSj8Ty1d3JFM"}
{"name":"Pierre Lancée","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-pierrelancee.png","_id":"efl1HdDSKpBfImQ1"}
{"name":"Tronçonneuse","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-tronconneuse.png","_id":"h9ASt4vrvEgxfj7j"}
{"name":"Vigilance","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_vigilance.png","_id":"lzEdMrKXbOYrWG5S"}
{"name":"Serres","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-serres.png","_id":"ndNshntOYb1JFNqi"}
{"name":"Bec","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/compcreature-beak.png","_id":"os88Rsp7mBkahqmh"}
{"name":"Dague","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_dague.png","_id":"qilRzXpVaGceNmQp"}
{"name":"Pickpocket","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_pickpocket.png","_id":"sUdXhpuVVOAlcVpo"}
{"name":"Course","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_course.png","_id":"shsUV8UpU18c0RJK"}
{"name":"Discrétion","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competencecreature","data":{"niveau":0,"carac-value":0,"dommages":0,"description":"<p>Morsure de la créature</p>"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_discretion.png","_id":"yDHZfK4RmwQW4YaW"}

View File

@ -560,3 +560,249 @@ button {
background-position:center !important;
background-size:cover !important;
}
/*--------------------------------------------------------------------------*/
/* CALENDAR STUFF */
#calendar-time-container{
position: absolute;
bottom: 75px;
left: 223px;
display: block;
}
#calendar{
min-width: 150px;
grid-row: 1;
grid-column: 1;
width: fit-content;
height: 75px;
margin: 0;
padding: 0;
border: 1px solid #000;
border-radius: 3%;
background: rgba(0, 0, 0, 0.5);
}
#calendar-hdr{
display: grid;
font-size: 16px;
margin: 3px;
padding: 4px;
text-align: center;
height: 25px;
width: fit-content;
min-width: 200px;
border-bottom: 1px solid #111;
}
#calendar-date{
grid-row: 1;
grid-column: 2;
float: left;
text-align: center;
padding-top: 0px;
padding-bottom: 0px;
margin-bottom: 5px;
color: #CCC;
cursor: pointer;
}
#calendar-date,
#calendar-date-num {
transition: 0.2s;
}
#calendar-date-num {
grid-row: 1;
grid-column: 2;
float: left;
text-align: center;
padding-top: 0px;
padding-bottom: 0px;
margin-bottom: 5px;
color: #CCC;
opacity: 0;
cursor: pointer;
}
#calendar-hdr:hover #calendar-date {
opacity: 0;
}
#calendar-hdr:hover #calendar-date-num{
opacity: 1;
}
#calendar-events{
grid-row: 1;
grid-column: 1;
float: left;
margin-right: 5px;
width: 10%;
text-align: center;
}
#calendar-events:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-weather{
grid-row: 1;
grid-column: 3;
float: inline-end;
margin-left: 5px;
width: 10%;
text-align: center;
}
#calendar-weather:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
.calendar-container{
padding-top: 3px;
padding-bottom: 20px;
}
.calendar-btn-container-left{
width: 20%;
display: grid;
float: left;
margin: 2px;
grid-row-gap: 3px;
}
.calendar-btn-container-right{
width: 20%;
display: grid;
float: right;
margin: 2px;
grid-row-gap: 3px;
}
#calendar-btn-sec{
grid-row: 1;
grid-column: 1;
margin: auto;
color: rgba(0, 0, 0, 0.5);
cursor: not-allowed;
}
#calendar-btn-halfMin{
grid-row: 1;
grid-column: 2;
margin: auto;
color: rgba(0, 0, 0, 0.5);
cursor: not-allowed;
}
#calendar-btn-min{
grid-row: 2;
grid-column: 1;
margin-left: 10px;
}
#calendar-btn-fiveMin{
grid-row: 2;
grid-column: 2;
margin-left: 10px;
}
#calendar-btn-night{
grid-row: 1;
grid-column: 1;
height: fit-content;
text-align: center;
vertical-align: center;
}
#calendar-btn-day{
grid-row: 1;
grid-column: 2;
height: fit-content;
text-align: center;
vertical-align: center;
}
#calendar-btn-quick{
grid-row: 2;
grid-column: 1;
height: fit-content;
text-align: center;
vertical-align: center;
}
#calendar-btn-long{
grid-row: 2;
grid-column: 2;
height: fit-content;
text-align: center;
vertical-align: center;
}
#calendar-btn-sec:hover {
border: 0px solid #000;
cursor: not-allowed;
}
#calendar-btn-halfMin:hover {
border: 0px solid #000;
cursor: not-allowed;
}
#calendar-btn-min:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-btn-fiveMin:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-btn-quick:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-btn-long:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-btn-day:hover {
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
#calendar-btn-night:hover{
color: #FFF;
border: 0px solid #000;
cursor: pointer;
}
.calendar-weekday-time{
display: grid;
float: left;
width: 55%;
padding-top: 0px;
padding-bottom: 0px;
margin: auto;
color: #CCC;
}
#calendar-weekday{
grid-column: 1;
grid-row: 1;
text-align: center;
margin: auto;
border-bottom: 1px solid #111;
}
.calendar-time{
grid-column: 1;
grid-row: 2;
text-align: center;
margin: auto;
cursor: pointer;
display: inline-flex;
}
.calendar-time-disp{
position: relative;
bottom: 6px;
}

View File

@ -2,10 +2,10 @@
"name": "foundryvtt-reve-de-dragon",
"title": "Rêve de Dragon",
"description": "Rêve de Dragon RPG for FoundryVTT",
"version": "0.9.4",
"version": "0.9.5",
"minimumCoreVersion": "0.6.0",
"compatibleCoreVersion": "0.6.6",
"templateVersion": 28,
"templateVersion": 31,
"author": "LeRatierBretonnien",
"esmodules": [ "module/rdd-main.js", "module/hook-renderChatLog.js" ],
"styles": ["styles/simple.css"],
@ -18,6 +18,15 @@
"path": "./packs/competences.db",
"entity": "Item",
"tag" : "item"
},
{
"name": "competences-creatures",
"label": "Compétences de Créatures",
"system": "foundryvtt-reve-de-dragon",
"module": "foundryvtt-reve-de-dragon",
"path": "./packs/competences-creatures.db",
"entity": "Item",
"tag" : "item"
},
{
"name": "sorts",

View File

@ -1,7 +1,10 @@
{
"Actor": {
"types": ["personnage"],
"types": ["personnage", "humanoide", "creature"],
"templates": {
"description": {
"description": "Description ..."
},
"background": {
"biographie": "Histoire personnelle...",
"yeux": "",
@ -324,10 +327,16 @@
},
"personnage": {
"templates": [ "background", "common"]
},
"humanoide": {
"templates": [ "common", "description" ]
},
"creature": {
"templates": [ "common", "description" ]
}
},
"Item": {
"types": ["objet", "arme", "armure", "conteneur", "competence", "sort", "herbe", "ingredient", "livre", "potion", "munition", "rencontresTMR", "queue", "ombre", "souffle", "tete"],
"types": ["objet", "arme", "armure", "conteneur", "competence", "sort", "herbe", "ingredient", "livre", "potion", "munition", "rencontresTMR", "queue", "ombre", "souffle", "tete", "competencecreature"],
"objet": {
"description": "",
"quantite": 1,
@ -385,7 +394,13 @@
"xp": 0,
"description": "Compétence : ...",
"defaut_carac": ""
},
},
"competencecreature": {
"niveau": 0,
"carac-value": 0,
"dommages": 0,
"description": "Compétence : ..."
},
"sort": {
"description": "",
"draconic": "",

View File

@ -0,0 +1,26 @@
<div id="calendar-time-container">
<div id="calendar">
<h3 id="calendar-hdr">
<span id="calendar-date" title="{{localize 'EditCalendar'}}">Date</span><span title="{{localize 'EditCalendar'}}" id="calendar-date-num">DateNum</span>
<i id=calendar-weather class="fas fa-cloud-sun" title="{{localize 'Weather'}}"></i>
</h3>
<div class="calendar-container">
<div class="calendar-btn-container-left">
<i id="calendar-btn-sec" class="fas fa-angle-right" title="{{localize 'Advance1second'}}" disabled></i>
<i id="calendar-btn-halfMin" class="fas fa-angle-double-right" title="{{localize 'Advance30seconds'}}" disabled></i>
<i id="calendar-btn-min" class="fas fa-play" title="{{localize 'Advance1minute'}}"></i>
<i id="calendar-btn-fiveMin" class="fas fa-step-forward" title="{{localize 'Advance5minutes'}}"></i>
</div>
<div class="calendar-weekday-time">
<p id="calendar-weekday">Day of the Week</p>
<span class="calendar-time"><p class="calendar-time-disp" id="calendar-time" title="{{localize 'StartStopPseudo'}}">Time</p><span id='calender-time-running'></span></span>
</div>
<div class="calendar-btn-container-right">
<i id="calendar-btn-quick" class="fas fa-forward" title="{{localize 'Advance15minutes'}}" ></i>
<i id="calendar-btn-long" class="fas fa-fast-forward" title="{{localize 'Advance1hour'}}" ></i>
<i id="calendar-btn-day" class="fas fa-sun" title="{{localize 'Advance7amNextDay'}}"></i>
<i id="calendar-btn-night" class="fas fa-moon" title="{{localize 'AdvanceToMidnight'}}"></i>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,31 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
</div>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body">
<div class="form-group">
<label for="niveau">Niveau </label>
<input class="attribute-value" type="text" name="data.niveau" value="{{data.niveau}}" data-dtype="Number"/>
</div>
<div class="form-group">
<label for="niveau">Valeur de Caractéristique </label>
<input class="attribute-value" type="text" name="data.carac-value" value="{{data.carac-value}}" data-dtype="Number"/>
</div>
<div class="form-group">
<label for="niveau">Dommages (+dom), si applicable </label>
<input class="attribute-value" type="text" name="data.dommages" value="{{data.dommages}}" data-dtype="Number"/>
</div>
<header class="header-field">
<span>Description : </span>
</header>
<div class="form-group" style="height:200px">
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
</div>
</section>
</form>

View File

@ -0,0 +1,31 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
</div>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body">
<div class="form-group">
<label for="niveau">Niveau </label>
<input class="attribute-value" type="text" name="data.niveau" value="{{data.niveau}}" data-dtype="Number"/>
</div>
<div class="form-group">
<label for="niveau">Valeur de Caractéristique </label>
<input class="attribute-value" type="text" name="data.carac-value" value="{{data.carac-value}}" data-dtype="Number"/>
</div>
<div class="form-group">
<label for="niveau">Dommages (+dom), si applicable </label>
<input class="attribute-value" type="text" name="data.dommages" value="{{data.dommages}}" data-dtype="Number"/>
</div>
<header class="header-field">
<span>Description : </span>
</header>
<div class="form-group" style="height:200px">
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
</div>
</section>
</form>