traits+debut combat

This commit is contained in:
rwanoux
2024-11-18 16:17:30 +01:00
parent de7cfca093
commit c0432d1efb
29 changed files with 1561 additions and 3691 deletions
+7 -5
View File
@@ -7,7 +7,7 @@
- [X] création de spécialitées depuis le (+) des compétences - [X] création de spécialitées depuis le (+) des compétences
- [X] fixer les cases hexas , comprtement chelou , piste = un click à l'air d'envoyer 2 update, verifier le onChange - [X] fixer les cases hexas , comprtement chelou , piste = un click à l'air d'envoyer 2 update, verifier le onChange
- [ ] dialog d'edition des min-max - [X] dialog d'edition des min-max
### fiche de groupe ### fiche de groupe
- [ ] pas encore penché dessus - [ ] pas encore penché dessus
@@ -24,8 +24,8 @@
### les jets de dés ### les jets de dés
- [ ] redesign de rollDialog => `<details>+<sumary>`=> rendre moins dense - [ ] redesign de rollDialog => `<details>+<sumary>`=> rendre moins dense
- [ ] envoyer les spécialités utilisables au rollDialog - [X] envoyer les spécialités utilisables au rollDialog
- [ ] envoyer les items utilisables au rollDialog - [X] envoyer les items utilisables au rollDialog
- [ ] gérer le fait de choisir quel totem garder : recalcul des réussites - [ ] gérer le fait de choisir quel totem garder : recalcul des réussites
- [X] refacto des template chat de roll - [X] refacto des template chat de roll
- [X] gérer les dés de totems humains et adapté : couleur différente/double succès +update actor - [X] gérer les dés de totems humains et adapté : couleur différente/double succès +update actor
@@ -39,11 +39,13 @@
### le combat ### le combat
faut s'y pencher faut s'y pencher
- [ ] modifier la difficulté en fonction de l'état du combatant /offensif/actif/passif/
### les items ### les items
- [ ] gérer les rolls d'items dans le chat - [-] gérer les rolls d'items dans le chat
- [-] repasser sur les différents itemTypes et sheets - [-] repasser sur les différents itemTypes et sheets
- [ ] construire une selecteur de traits, traits= CONFIG.VERMINE.traits - [X] construire une selecteur de traits, traits= CONFIG.VERMINE.traits
traits:[ traits:[
key:{ key:{
name:string, name:string,
+1 -1
View File
File diff suppressed because one or more lines are too long
+8 -5
View File
@@ -11,11 +11,11 @@ export class VermineItem extends Item {
// preparation methods overridden (such as prepareBaseData()). // preparation methods overridden (such as prepareBaseData()).
super.prepareData(); super.prepareData();
} }
prepareBaseData(){ prepareBaseData() {
const actorType = (this.actor !== null) ? this.actor.type : 'character'; const actorType = (this.actor !== null) ? this.actor.type : 'character';
switch (this.type){ switch (this.type) {
case 'ability': case 'ability':
if (this.system.type == "") { if (this.system.type == "") {
// console.log('je suis une capacité, avec pour sous-type', this.system.type, actorType); // console.log('je suis une capacité, avec pour sous-type', this.system.type, actorType);
this.system.type = actorType; this.system.type = actorType;
@@ -34,9 +34,9 @@ export class VermineItem extends Item {
* Prepare a data object which is passed to any Roll formulas which are created related to this Item * Prepare a data object which is passed to any Roll formulas which are created related to this Item
* @private * @private
*/ */
getRollData() { getRollData() {
// If present, return the actor's roll data. // If present, return the actor's roll data.
if ( !this.actor ) return null; if (!this.actor) return null;
const rollData = this.actor.getRollData(); const rollData = this.actor.getRollData();
// Grab the item's system data as well. // Grab the item's system data as well.
rollData.item = foundry.utils.deepClone(this.system); rollData.item = foundry.utils.deepClone(this.system);
@@ -50,6 +50,9 @@ export class VermineItem extends Item {
* @private * @private
*/ */
async roll() { async roll() {
if (this.type == "weapon") {
this.rollWeapon()
}
const item = this; const item = this;
// Initialize chat data. // Initialize chat data.
+9 -31
View File
@@ -57,7 +57,6 @@ export class VermineActorSheet extends ActorSheet {
/** @override */ /** @override */
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
html.find('.min-max-edit').click(this._onMinMaxEdit.bind(this))
// Render the item sheet for viewing/editing prior to the editable check. // Render the item sheet for viewing/editing prior to the editable check.
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
@@ -79,7 +78,9 @@ export class VermineActorSheet extends ActorSheet {
item.delete(); item.delete();
li.slideUp(200, () => this.render(false)); li.slideUp(200, () => this.render(false));
}); });
html.find(".item-roll").click(ev => {
this._onRollItem(ev)
})
// Active Effect management // Active Effect management
html.find(".effect-control").click(ev => onManageActiveEffect(ev, this.actor)); html.find(".effect-control").click(ev => onManageActiveEffect(ev, this.actor));
@@ -103,6 +104,12 @@ export class VermineActorSheet extends ActorSheet {
}) })
} }
async _onRollItem(ev) {
const li = $(ev.currentTarget).parents(".item");
const item = this.actor.items.get(li.data("itemId"));
item.roll();
}
_onClickRadioHexa(ev) { _onClickRadioHexa(ev) {
let input = ev.currentTarget; let input = ev.currentTarget;
console.log(input.value, input.name); console.log(input.value, input.name);
@@ -123,35 +130,6 @@ export class VermineActorSheet extends ActorSheet {
}
async _onMinMaxEdit(event) {
event.preventDefault();
let propPath = event.currentTarget.dataset.prop;
let propName = propPath.split('.').slice(-1).pop()
let data = {
actorName: this.actor.name,
propName: propName
}
let html = await renderTemplate('systems/vermine2047/templates/dialogs/min-max-edit.hbs', data);
let ui = new Dialog({
title: "edit : " + propName,
content: html,
buttons: {
roll: {
label: "ok",
callback: (html) => { }
},
cancel: {
label: game.i18n.localize('Close'),
callback: () => { }
}
}
}
);
ui.render(true)
} }
async _onItemCreate(event) { async _onItemCreate(event) {
event.preventDefault(); event.preventDefault();
+1
View File
@@ -66,6 +66,7 @@ export class VermineItemSheet extends ItemSheet {
html.find('.traits-selector').click(ev => { html.find('.traits-selector').click(ev => {
this.openTraitSelector(ev) this.openTraitSelector(ev)
}) })
} }
async _onClickDamage(ev) { async _onClickDamage(ev) {
+23 -9
View File
@@ -149,27 +149,37 @@ export class TraitSelector extends Application {
async activateListeners(html) { async activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
this.validateTraits(html); this.validateTraits(html);
html.find('input').click(ev => { html.find('input').change(ev => {
this.onChangeInput(ev) this.onChangeInput(ev)
}) })
} }
async validateTraits(html) { async validateTraits(html) {
let checks = html.find("input.trait-selector"); let checks = html.find("input.trait-selector");
for (let ch of checks) { let val = html.find("input.trait-value");
if (this.targetItem.system.traits[ch.dataset.trait]) { for (let inp of [...checks, val]) {
ch.checked = true if (this.targetItem.system.traits[inp.dataset.trait]) {
if (inp.type == "checkbox") {
inp.checked = true
}
if (inp.type == "value") {
inp.value = this.targetItem.system.traits[inp.dataset.trait].value
}
} }
} }
} }
async onChangeInput(ev) { async onChangeInput(ev) {
let el = ev.currentTarget; let el = ev.currentTarget;
if (el.classList.contains('trait-selector')) {
let traitKey = el.dataset.trait; // Récupère la clé du trait à partir de l'attribut data-trait
let traits = this.targetItem.system.traits || {}; // Récupère les traits actuels, ou un objet vide si aucun trait n'est défini
let traitKey = el.dataset.trait; // Récupère la clé du trait à partir de l'attribut data-trait
let traitValue = parseInt(el.value) || null
let traits = this.targetItem.system.traits || {}; // Récupère les traits actuels, ou un objet vide si aucun trait n'est défini
console.log(traitKey, traitValue, traits)
if (el.classList.contains('trait-selector')) {
if (!traits[traitKey]) { if (!traits[traitKey]) {
// Si la case est cochée, ajoute le trait // Si la case est cochée, ajoute le trait
await this.targetItem.update({ [`system.traits.${traitKey}`]: this.traits[traitKey] }); await this.targetItem.update({ [`system.traits.${traitKey}`]: this.traits[traitKey] });
@@ -178,8 +188,12 @@ export class TraitSelector extends Application {
await this.targetItem.update({ [`system.traits.${traitKey}`]: null }); await this.targetItem.update({ [`system.traits.${traitKey}`]: null });
} }
} }
else if (el.classList.contains('trait-value')) { if (traitValue) {
console.log(el.value)
// Logique pour les valeurs des traits si nécessaire // Logique pour les valeurs des traits si nécessaire
el.closest("label").querySelector('.trait-selector').checked = true;
} else {
el.closest("label").querySelector('.trait-selector').checked = false;
} }
} }
} }
+6
View File
@@ -246,3 +246,9 @@ VERMINE.traits = {
}, },
// etc...etc... // etc...etc...
} }
VERMINE.damageTypes = [
"choc",
"lame",
"feu",
"balle"
]
+2
View File
@@ -51,7 +51,9 @@ export default class RollDialog extends Dialog {
}) { }) {
// Retrieve the actor data based on the actorId // Retrieve the actor data based on the actorId
data.actor = await game.actors.get(data.actorId); data.actor = await game.actors.get(data.actorId);
console.log(data.actor)
data.availableSpecialties = data.actor.items.filter(it => it.type == "specialty"); data.availableSpecialties = data.actor.items.filter(it => it.type == "specialty");
console.log(data.availableSpecialties)
data.availableItems = data.actor.items.filter(it => it.type == "item"); data.availableItems = data.actor.items.filter(it => it.type == "item");
data.config = CONFIG.VERMINE; data.config = CONFIG.VERMINE;
// Define options for the dialog // Define options for the dialog
+14 -15
View File
@@ -326,7 +326,7 @@ export class VermineCombat extends Combat {
} }
async rollInitiative(ids, formula = undefined, messageOptions = {}) { async rollInitiative(ids, formula = undefined, messageOptions = {}) {
// console.log(`${game.system.title} | Combat.rollInitiative()`, ids, formula, messageOptions); console.log(`${game.system.title} | Combat.rollInitiative()`, ids, formula, messageOptions);
// Structure input data // Structure input data
ids = typeof ids === "string" ? [ids] : ids; ids = typeof ids === "string" ? [ids] : ids;
@@ -428,20 +428,7 @@ export class VermineCombatTracker extends CombatTracker {
return "systems/vermine2047/templates/combat-tracker.hbs"; return "systems/vermine2047/templates/combat-tracker.hbs";
} }
async getData(options) {
const context = await super.getData(options);
if (!context.hasCombat) {
return context;
}
for (let [i, combatant] of context.combat.turns.entries()) {
context.turns[i].hasActed = combatant.getFlag("world", "hasActed");
context.turns[i].isPlayer = combatant.actor.type == "player";
context.turns[i].isNpc = combatant.actor.type == "npc";
}
return context;
}
/* -------------------------------------------- */ /* -------------------------------------------- */
get template() { get template() {
@@ -466,14 +453,26 @@ export class VermineCombatTracker extends CombatTracker {
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
html.find("[data-attitude]").click(this._setStatut.bind(this)); html.find("[data-attitude]").click(this._setStatut.bind(this));
html.find("[data-control='rollInitiative']").click(this.rollVermineInitiative.bind(this))
}
async rollVermineInitiative(ev) {
ev.preventDefault();
ev.stopPropagation();
const btn = ev.currentTarget;
const li = btn.closest(".combatant");
const combat = this.viewed;
const combatant = combat.combatants.get(li.dataset.combatantId);
console.log(combatant)
} }
/** /**
* @description Use to put an attitude to an actor * @description Use to put an attitude to an actor
* @param {*} event * @param {*} event
*/ */
async _setStatut(event) { async _setStatut(event) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
+1033 -3253
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -13,11 +13,11 @@
}, },
"author": "Rwan", "author": "Rwan",
"devDependencies": { "devDependencies": {
"@typhonjs-fvtt/eslint-config-foundry.js": "^0.8.0",
"@foundryvtt/foundryvtt-cli": "^1.0.2", "@foundryvtt/foundryvtt-cli": "^1.0.2",
"browser-sync": "^2.27.11", "@typhonjs-fvtt/eslint-config-foundry.js": "^0.8.0",
"gulp": "^4.0.2", "browser-sync": "^3.0.3",
"gulp": "^5.0.0",
"gulp-sass": "^5.1.0", "gulp-sass": "^5.1.0",
"sass": "^1.55.0" "sass": "^1.55.0"
} }
} }
+57
View File
@@ -0,0 +1,57 @@
// Flexbox.
.flex-group-center,
.flex-group-left,
.flex-group-right {
justify-content: center;
align-items: center;
text-align: center;
}
.flex-group-left {
justify-content: flex-start;
text-align: left;
}
.flex-group-right {
justify-content: flex-end;
text-align: right;
}
.flexshrink {
flex: 0;
}
.flex-center {
align-items: center;
justify-content: center;
}
.flex-between {
justify-content: space-between;
}
.flex-around {
justify-content: space-around;
}
.flexlarge {
flex: 2;
}
// Alignment styles.
.align-left {
justify-content: flex-start;
text-align: left;
}
.align-right {
justify-content: flex-end;
text-align: right;
}
.align-center {
align-items: center;
justify-content: center;
text-align: center;
}
+10 -17
View File
@@ -27,6 +27,7 @@ img.profile-img {
filter: drop-shadow(0px 0px 20px rgb(110, 133, 27)); filter: drop-shadow(0px 0px 20px rgb(110, 133, 27));
height: auto; height: auto;
width: 100%; width: 100%;
max-width: 10rem;
} }
/* custom styles */ /* custom styles */
@@ -35,13 +36,6 @@ body.system-vermine2047 img#logo {
height: auto; height: auto;
} }
/* Customize the chat roll area! */
#chat-form textarea {
background: url(/systems/vermine2047/assets/images/ui/box_background.webp) repeat;
/*font-family: monospace;
font-size: 14px;
color: black; */
}
/* Customize the chat history area! */ /* Customize the chat history area! */
#chat-log .message { #chat-log .message {
@@ -112,24 +106,22 @@ ul.unstyled li {
} }
.actor.sheet form .form { .actor.sheet form .form {
display: grid; display: flex;
grid-template-columns: minmax(230px, 1fr) 3fr;
grid-template-rows: 1fr;
align-items: flex-start; align-items: flex-start;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
} }
.actor.sheet .form aside { .actor.sheet .form aside {
grid-row: span 1 / span 1; min-width: max-content;
background-image: url(/systems/vermine2047/assets/images/ui/barre_laterale.webp); background-image: url(/systems/vermine2047/assets/images/ui/barre_laterale.webp);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: auto 200%;
border-right: 2px black;
height: 100%; height: 100%;
width: 240px;
padding: 0 0.3rem; padding: 0 0.3rem;
box-shadow: -20px 0px 100px #000000b5 inset; box-shadow: -20px 0px 100px 15px #000000b5 inset;
.major-totem { .major-totem {
@@ -482,8 +474,7 @@ ul.unstyled li {
} }
.system-vermine2047 .sheet.actor .sidebar { .system-vermine2047 .sheet.actor .sidebar {
width: 230px; flex: 0.2;
min-height: 518px;
} }
.system-vermine2047 .sheet.actor .floatright { .system-vermine2047 .sheet.actor .floatright {
@@ -700,7 +691,8 @@ ul.unstyled li {
.system-vermine2047 .sheet.actor #edit { .system-vermine2047 .sheet.actor #edit {
background-color: black; background-color: black;
color: white color: white;
width: 100%
} }
.system-vermine2047 .sheet.actor .reserve-grid { .system-vermine2047 .sheet.actor .reserve-grid {
@@ -735,6 +727,7 @@ ul.unstyled li {
background: radial-gradient(circle, rgba(255, 255, 255, 0.425) 0%, rgba(0, 0, 0, 0.288) 100%); background: radial-gradient(circle, rgba(255, 255, 255, 0.425) 0%, rgba(0, 0, 0, 0.288) 100%);
max-height: 1.2rem; max-height: 1.2rem;
max-width: 1.2rem; max-width: 1.2rem;
min-width: 1.2rem;
aspect-ratio: 1/1; aspect-ratio: 1/1;
color: black; color: black;
vertical-align: center; vertical-align: center;
+12 -1
View File
@@ -3,7 +3,6 @@
.flexrow { .flexrow {
align-items: center; align-items: center;
box-shadow: 0px 5px 10px 0px black; box-shadow: 0px 5px 10px 0px black;
margin: 1rem;
} }
header, header,
@@ -57,6 +56,18 @@
font-family: "DistressBlack"; font-family: "DistressBlack";
} }
.traits {
box-shadow: 0px 5px 15px black;
h3 {
margin: 0
}
h4 {
margin: 0
}
}
} }
+1
View File
@@ -5,6 +5,7 @@
@import "dialog.scss"; @import "dialog.scss";
@import "special-inputs.scss"; @import "special-inputs.scss";
@import "special-applications.scss"; @import "special-applications.scss";
@import "_flex.scss";
// overwrites variables // overwrites variables
+3 -1
View File
@@ -487,6 +487,7 @@
"description": "", "description": "",
"rarity": 3, "rarity": 3,
"reliability": 3, "reliability": 3,
"handicap": 0,
"quantity": 1, "quantity": 1,
"weight": 0, "weight": 0,
"traits": {}, "traits": {},
@@ -534,7 +535,8 @@
"max_range": 0, "max_range": 0,
"damage": { "damage": {
"value": 0, "value": 0,
"type": "" "type": "",
"addVigor": false
}, },
"ammo": 0 "ammo": 0
}, },
@@ -1,9 +1,6 @@
<div class="grid grid-2col"> <div class="grid grid-2col">
<div class="self-control-container"> <div class="self-control-container flexcol align-center">
<h4 class="align-center"> <h4 class="align-center">
<a class="min-max-edit" data-prop="system.attributes.self_control">
<i class="fas fa-cogs"> </i>
</a>
{{ localize "VERMINE.self_control"}} : {{ localize "VERMINE.self_control"}} :
{{@root.system.attributes.self_control.value}}/ {{@root.system.attributes.self_control.value}}/
@@ -41,11 +38,9 @@
{{/repeat}} {{/repeat}}
</div> </div>
</div> </div>
<div class="effort-container"> <div class="effort-container flexcol align-center">
<h4 class="align-center"> <h4 class="align-center">
<a class="min-max-edit" data-prop="system.attributes.effort">
<i class="fas fa-cogs"></i>
</a>
{{ localize "VERMINE.effort"}} : {{ localize "VERMINE.effort"}} :
{{@root.system.attributes.effort.value}}/ {{@root.system.attributes.effort.value}}/
{{@root.system.attributes.effort.max}} {{@root.system.attributes.effort.max}}
@@ -84,7 +79,7 @@
</div> </div>
</div> </div>
</div> </div>
<h4 class="item-name effect-name flexrow">{{ localize <h4 class="item-name flexrow">{{ localize
"VERMINE.wounds.name"}}</h4> "VERMINE.wounds.name"}}</h4>
<ul class="unstyled"> <ul class="unstyled">
<li class="row mdb">{{ localize 'VERMINE.wounds.light'}} <span <li class="row mdb">{{ localize 'VERMINE.wounds.light'}} <span
+69 -30
View File
@@ -2,51 +2,70 @@
<div class="totem-details"> <div class="totem-details">
<img <img
class="img-totem" class="img-totem"
src="/systems/vermine2047/assets/images/ui/totems/{{ system.identity.totem }}.webp" src="/systems/vermine2047/assets/images/ui/totems/{{system.identity.totem}}.webp"
alt="{{ smarttl 'TOTEMS' system.identity.totem 'name' }}" width="80" alt="{{smarttl 'TOTEMS' system.identity.totem 'name'}}"
width="80"
height="80" /> height="80" />
<h4 class="align-center"> <h4 class="align-center">
{{ smarttl 'TOTEMS' system.identity.totem 'name' }} {{smarttl "TOTEMS" system.identity.totem "name"}}
</h4> </h4>
<p style="font-size:80%;">{{ smarttlk "TOTEMS" system.identity.totem <p style="font-size:80%;">{{smarttlk
"description"}}</p> "TOTEMS"
system.identity.totem
"description"
}}</p>
<div class="grid grid-2col"> <div class="grid grid-2col">
<div class> <div class>
<div class="item-name"><strong>Principes</strong><br />{{ smarttlk <div class="item-name"><strong>Principes</strong><br />{{smarttlk
"TOTEMS" "TOTEMS"
system.identity.totem "instincts"}}</div> system.identity.totem
"instincts"
}}</div>
</div> </div>
<div class> <div class>
<div class="item-name"><strong>Interdits</strong><br />{{ smarttlk <div class="item-name"><strong>Interdits</strong><br />{{smarttlk
"TOTEMS" "TOTEMS"
system.identity.totem "bans"}}</div> system.identity.totem
"bans"
}}</div>
</div> </div>
</div> </div>
</div> </div>
<hr> <hr />
{{else}} {{else}}
<h3>choisissez un totem</h3> <h3>choisissez un totem</h3>
{{/if}} {{/if}}
<!--
___________abstract Items_____________
-->
<div class="grid grid-2col"> <div class="grid grid-2col">
<div> <div>
<h4> <h4>
<span>{{ localize 'ITEMS.abilities'}}</span> <span>{{localize "ITEMS.abilities"}}</span>
<a class="item-control item-create" title="Create item" <a
class="item-control item-create"
title="Create item"
data-type="ability"><i class="fas fa-plus"></i></a> data-type="ability"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each abilities as |item id|}} {{#each abilities as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a
class="item-control item-edit"
title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}} {{#if item.system.description}}
<i class="fas fa-circle-question" <i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}} {{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
@@ -58,19 +77,24 @@
</div> </div>
<div> <div>
<h4> <h4>
<span>{{ localize 'ITEMS.specialties'}}</span> <span>{{localize "ITEMS.specialties"}}</span>
<a class="item-control item-create" title="Create item" <a
class="item-control item-create"
title="Create item"
data-type="specialty"><i class="fas fa-plus"></i></a> data-type="specialty"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each specialties as |item id|}} {{#each specialties as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a
class="item-control item-edit"
title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}} {{#if item.system.description}}
<i class="fas fa-circle-question" <i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}} {{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
@@ -82,19 +106,24 @@
</div> </div>
<div> <div>
<h4> <h4>
<span>{{ localize 'ITEMS.backgrounds'}}</span> <span>{{localize "ITEMS.backgrounds"}}</span>
<a class="item-control item-create" title="Create item" <a
class="item-control item-create"
title="Create item"
data-type="background"><i class="fas fa-plus"></i></a> data-type="background"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each backgrounds as |item id|}} {{#each backgrounds as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a
class="item-control item-edit"
title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}} {{#if item.system.description}}
<i class="fas fa-circle-question" <i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}} {{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
@@ -106,19 +135,24 @@
</div> </div>
<div> <div>
<h4> <h4>
<span>{{ localize 'ITEMS.traumas'}}</span> <span>{{localize "ITEMS.traumas"}}</span>
<a class="item-control item-create" title="Create item" <a
class="item-control item-create"
title="Create item"
data-type="trauma"><i class="fas fa-plus"></i></a> data-type="trauma"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each traumas as |item id|}} {{#each traumas as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a
class="item-control item-edit"
title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}} {{#if item.system.description}}
<i class="fas fa-circle-question" <i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}} {{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
@@ -130,19 +164,24 @@
</div> </div>
<div> <div>
<h4> <h4>
<span>{{ localize 'ITEMS.evolutions'}}</span> <span>{{localize "ITEMS.evolutions"}}</span>
<a class="item-control item-create" title="Create item" <a
class="item-control item-create"
title="Create item"
data-type="evolution"><i class="fas fa-plus"></i></a> data-type="evolution"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each evolutions as |item id|}} {{#each evolutions as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a
class="item-control item-edit"
title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}} {{#if item.system.description}}
<i class="fas fa-circle-question" <i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}} {{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
+6 -6
View File
@@ -26,7 +26,7 @@
<li class="row mdb">{{ localize 'VERMINE.wounds.light'}} <span <li class="row mdb">{{ localize 'VERMINE.wounds.light'}} <span
data-tooltip="seuil">({{ data-tooltip="seuil">({{
system.minorWound.threshold }})</span> system.minorWound.threshold }})</span>
{{#range system.minorWound.max }} {{#repeat system.minorWound.max }}
<input type="radio" data-dtype="Number" name="system.minorWound.value" <input type="radio" data-dtype="Number" name="system.minorWound.value"
value="{{this}}" {{#ife @root.system.minorWound.value this value="{{this}}" {{#ife @root.system.minorWound.value this
}}checked="checked"{{/ife}} data-wound="minorWound" }}checked="checked"{{/ife}} data-wound="minorWound"
@@ -36,10 +36,10 @@
{{/iflteq}} {{/iflteq}}
" /> " />
{{/range}}</li> {{/repeat}}</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{ <li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
system.majorWound.threshold }}) system.majorWound.threshold }})
{{#range system.majorWound.max }} {{#repeat system.majorWound.max }}
<input type="radio" name="system.majorWound.value" value="{{this}}" {{#ife <input type="radio" name="system.majorWound.value" value="{{this}}" {{#ife
@root.system.majorWound.value this }}checked="checked"{{/ife}} @root.system.majorWound.value this }}checked="checked"{{/ife}}
data-wound="majorWound" data-wound="majorWound"
@@ -49,11 +49,11 @@
{{/iflteq}} {{/iflteq}}
" /> " />
{{/range}} {{/repeat}}
</li> </li>
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{ <li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
system.deadlyWound.threshold }}) system.deadlyWound.threshold }})
{{#range system.deadlyWound.max }} {{#repeat system.deadlyWound.max }}
<input type="radio" name="system.deadlyWound.value" value="{{this}}" {{#ife <input type="radio" name="system.deadlyWound.value" value="{{this}}" {{#ife
@root.system.deadlyWound.value this }}checked="checked"{{/ife}} @root.system.deadlyWound.value this }}checked="checked"{{/ife}}
data-wound="deadlyWound" data-wound="deadlyWound"
@@ -63,7 +63,7 @@
{{/iflteq}} {{/iflteq}}
" /> " />
{{/range}} {{/repeat}}
</li> </li>
</ul> </ul>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4> <h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
+74 -52
View File
@@ -2,75 +2,97 @@
<div> <div>
<h4 class="align-center">{{ localize "VERMINE.self_control"}}</h4> <h4 class="align-center">{{ localize "VERMINE.self_control"}}</h4>
<p class="align-center"> <p class="align-center">
<input type="number" name="system.attributes.self_control.value" value="{{ system.attributes.self_control.value }}" data-dtype="Number" min="{{ system.attributes.self_control.min }}" max="{{ system.attributes.self_control.max }}" /> / {{ system.attributes.self_control.max }} <input type="number" name="system.attributes.self_control.value"
value="{{ system.attributes.self_control.value }}" data-dtype="Number"
min="{{ system.attributes.self_control.min }}"
max="{{ system.attributes.self_control.max }}" /> / {{
system.attributes.self_control.max }}
</p> </p>
</div> </div>
<div> <div>
<h4 class="align-center">{{ localize "VERMINE.effort"}}</h4> <h4 class="align-center">{{ localize "VERMINE.effort"}}</h4>
<p class="align-center"> <p class="align-center">
<input type="number" name="system.attributes.effort.value" value="{{ system.attributes.effort.value }}" data-dtype="Number" min="{{ system.attributes.effort.min }}" max="{{ system.attributes.effort.max }}" /> / {{ system.attributes.effort.max }} <input type="number" name="system.attributes.effort.value"
value="{{ system.attributes.effort.value }}" data-dtype="Number"
min="{{ system.attributes.effort.min }}"
max="{{ system.attributes.effort.max }}" /> / {{
system.attributes.effort.max }}
</p> </p>
</div> </div>
</div> </div>
<h4 class="item-name effect-name flexrow">{{ localize "VERMINE.wounds.name"}}</h4> <h4 class="item-name effect-name flexrow">{{ localize
"VERMINE.wounds.name"}}</h4>
<ul class="unstyled"> <ul class="unstyled">
<li class="row mdb">{{ localize 'VERMINE.wounds.light'}} ({{ system.minorWound.threshold }}) <li class="row mdb">{{ localize 'VERMINE.wounds.light'}} ({{
{{#range system.minorWound.max }} system.minorWound.threshold }})
<input type="radio" data-dtype="Number" name="system.minorWound.value" value="{{this}}" {{#ife @root.system.minorWound.value this }}checked="checked"{{/ife}} /> {{#repeat system.minorWound.max }}
{{/range}}</li> <input type="radio" data-dtype="Number" name="system.minorWound.value"
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{ system.majorWound.threshold }}) value="{{this}}" {{#ife @root.system.minorWound.value this
{{#range system.majorWound.max }} }}checked="checked"{{/ife}} />
<input type="radio" name="system.majorWound.value" value="{{this}}" {{#ife @root.system.majorWound.value this }}checked="checked"{{/ife}} /> {{/repeat}}</li>
{{/range}} <li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
system.majorWound.threshold }})
{{#repeat system.majorWound.max }}
<input type="radio" name="system.majorWound.value" value="{{this}}" {{#ife
@root.system.majorWound.value this }}checked="checked"{{/ife}} />
{{/repeat}}
</li> </li>
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{ system.deadlyWound.threshold }}) <li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
{{#range system.deadlyWound.max }} system.deadlyWound.threshold }})
<input type="radio" name="system.deadlyWound.value" value="{{this}}" {{#ife @root.system.deadlyWound.value this }}checked="checked"{{/ife}} /> {{#repeat system.deadlyWound.max }}
{{/range}} <input type="radio" name="system.deadlyWound.value" value="{{this}}" {{#ife
@root.system.deadlyWound.value this }}checked="checked"{{/ife}} />
{{/repeat}}
</li> </li>
</ul> </ul>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4> <h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
<ol class="items-list effects-list"> <ol class="items-list effects-list">
{{#each effects as |section sid|}} {{#each effects as |section sid|}}
<li class="items-header flexrow" data-effect-type="{{section.type}}"> <li class="items-header flexrow" data-effect-type="{{section.type}}">
<p class="item-name effect-name flexrow">{{#if (eq section.type 'temporary')}} <p class="item-name effect-name flexrow">{{#if (eq section.type
{{localize "UI.effects.temporary" }} 'temporary')}}
{{else if (eq section.type 'passive')}} {{localize "UI.effects.temporary" }}
{{localize "UI.effects.passive" }} {{else if (eq section.type 'passive')}}
{{else if (eq section.type 'inactive')}} {{localize "UI.effects.passive" }}
{{localize "UI.effects.inactive" }} {{else if (eq section.type 'inactive')}}
{{/if}} {{localize "UI.effects.inactive" }}
</p> {{/if}}
<div class="effect-source">{{localize 'UI.source'}}</div> </p>
<div class="effect-source">{{localize 'UI.duration'}}</div> <div class="effect-source">{{localize 'UI.source'}}</div>
<div class="effect-source">{{localize 'UI.duration'}}</div>
<div class="item-controls effect-controls flexrow">
<a class="effect-control" data-action="create"
title="{{localize 'UI.effect_create'}}">
<i class="fas fa-plus"></i> {{localize "UI.add"}}
</a>
</div>
</li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li class="item effect flexrow" data-effect-id="{{effect.id}}">
<div class="item-name effect-name">
<a class="effect-control flexrow flex-group-center items-center"
data-action="edit" title="{{localize 'UI.effect_edit'}}">
<img class="item-image" src="{{effect.icon}}" />
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow"> <div class="item-controls effect-controls flexrow">
<a class="effect-control" data-action="create" title="{{localize 'UI.effect_create'}}"> <a class="effect-control" data-action="toggle"
<i class="fas fa-plus"></i> {{localize "UI.add"}} title="{{localize 'UI.effect_toggle'}}">
<i
class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a class="effect-control" data-action="delete"
title="{{localize 'UI.effect_delete'}}">
<i class="fas fa-trash"></i>
</a> </a>
</div> </div>
</li> </li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li class="item effect flexrow" data-effect-id="{{effect.id}}">
<div class="item-name effect-name">
<a class="effect-control flexrow flex-group-center items-center" data-action="edit" title="{{localize 'UI.effect_edit'}}">
<img class="item-image" src="{{effect.icon}}"/>
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow">
<a class="effect-control" data-action="toggle" title="{{localize 'UI.effect_toggle'}}">
<i class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a class="effect-control" data-action="delete" title="{{localize 'UI.effect_delete'}}">
<i class="fas fa-trash"></i>
</a>
</div>
</li>
{{/each}} {{/each}}
</ol> </ol>
{{/each}} {{/each}}
</ol> </ol>
+33 -16
View File
@@ -7,25 +7,42 @@
<div class="item-rarity">{{ localize 'VERMINE.rarity_sm'}}</div> <div class="item-rarity">{{ localize 'VERMINE.rarity_sm'}}</div>
<div class="item-reliability">{{ localize 'VERMINE.reliability_sm'}}</div> <div class="item-reliability">{{ localize 'VERMINE.reliability_sm'}}</div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-create" title="Create item" data-type="weapon"><i class="fas fa-plus"></i></a> <a class="item-control item-create" title="Create item"
data-type="weapon"><i class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each weapons as |item id|}} {{#each weapons as |item id|}}
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}"> <li class="item flexrow flex-group-center align-center"
<div class="item-name flexrow" style="flex:4;"> data-item-id="{{item._id}}">
<div class="item-image"> <div class="item-name flexrow" style="flex:4;">
<a class="item-control item-edit" data-roll-type="item"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></a> <div class="item-image">
</div> <a class="item-control" data-roll-type="item"><img
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> src="{{item.img}}" title="{{item.name}}" width="24"
height="24" /></a>
</div> </div>
<p><a class="item-control item-edit" title="Edit Item">{{item.system.min_range}} / {{item.system.max_range}}</a></p> <a class="item-control item-roll">{{item.name}}</a>
<p><a class="item-control item-edit" title="Edit Item">{{item.system.damage}}</a></p> </div>
<p><a class="item-control item-edit" title="Edit Item">{{item.system.ammo}}</a></p> <p><a>{{item.system.min_range}} /
<p><a class="item-control item-edit" title="Edit Item">{{item.system.rarity}}</a></p> {{item.system.max_range}}</a></p>
<p><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></p> <p><a>
<div class="item-controls"> {{#if item.system.damage.addVigor}}
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> vigueur+
</div> {{/if}}
</li> {{item.system.damage.value}}
({{item.system.damage.type}})
</a></p>
<p><a>{{item.system.ammo}}</a></p>
<p><a>{{item.system.rarity}}</a></p>
<p><a>{{item.system.reliability}}</a></p>
<div class="item-controls">
<a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a>
<a class="item-control item-edit" title="Edit Item"><i
class="fas fa-edit"></i></a>
<a class="item-control item-roll" title="Roll Item"><i
class="fas fa-dice"></i></a>
</div>
</li>
{{/each}} {{/each}}
</ol> </ol>
+6 -9
View File
@@ -1,22 +1,19 @@
<div class="trait choose grid grid-2col" style="padding:5px;">
<div class="trait choose grid grid-2col" {{#each traits as |trait ind|}}
style="padding:5px;">
{{#each traits as | trait ind|}}
{{log @root.item}} {{log @root.item}}
{{log trait}} {{log trait}}
{{log ind}} {{log ind}}
<div class="form-group" data-trait="{{ind}}"> <div class="form-group" data-trait="{{ind}}">
<label> <label>
<input type="checkbox" class="trait-selector" data-trait="{{ind}}"> <input type="checkbox" class="trait-selector"
data-trait="{{ind}}" />
{{trait.name}} {{trait.name}}
{{#if trait.value}}
<input type="number" class="hexa trait-value" name="{{ind}}.value">
{{/if}}
</label> </label>
<p class="hint">{{trait.description}}</p> <p class="hint">{{trait.description}}</p>
</div> </div>
{{/each}} {{/each}}
</div> </div>
+10 -1
View File
@@ -1 +1,10 @@
<h2>edit {{actorName}} : {{propName}}</h2> <h2>edit {{actorName}} : {{propName}}</h2>
<div class="flexrow align-center">
<div class="form-row">
<label for="min">maximum</label>
<input type="number" value="0" data-attr="max">
</div>
</div>
+23 -16
View File
@@ -108,7 +108,14 @@
{{#if availableSpecialties.length}} {{#if availableSpecialties.length}}
<label class="label">{{localize 'VERMINE.specialty'}} (+1D)</label> <label class="label">{{localize 'VERMINE.specialty'}} (+1D)</label>
<div class="flexrow"> <div class="flexrow">
<span data-spec-skill="{{spec.system.skill}}">
<i>aucunes</i>
<input type="radio" data-roll="true" name="usingSpecialization"
id="usingSpecialization"
value="aucune">
</span>
{{#each availableSpecialties as |spec ind|}} {{#each availableSpecialties as |spec ind|}}
<span data-spec-skill="{{spec.system.skill}}"> <span data-spec-skill="{{spec.system.skill}}">
<i>{{spec.name}}</i> <i>{{spec.name}}</i>
<input type="radio" data-roll="true" name="usingSpecialization" <input type="radio" data-roll="true" name="usingSpecialization"
@@ -145,24 +152,24 @@
min="0" min="0"
max="0" value="0" /> max="0" value="0" />
</div> </div>
<div class="flexrow row mdb"> <div class="flexcol row mdb">
<label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label> <label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label>
<span>
<i>Auncun</i>
<input type="radio" data-roll="true" name="usingTools"
id="usingTools" value="0" checked>
</span>
</div>
<div class="item-list grid grid-4col"> <div class="item-list grid grid-4col">
{{#each availableItems as |item ind|}} <h3>
<span> <i>Auncun</i>
<i>{{item.name}}</i> <input type="radio" data-roll="true" name="usingTools"
<input type="radio" data-roll="true" name="usingTools" id="usingTools" value="0" checked>
id="usingTools" </h3>
value="{{item.name}}"> {{#each availableItems as |item ind|}}
</span> <span>
{{/each}} <i>{{item.name}}</i>
<input type="radio" data-roll="true" name="usingTools"
id="usingTools"
value="{{item.name}}">
</span>
{{/each}}
</div>
</div> </div>
<div class="flexrow"> <div class="flexrow">
+34 -65
View File
@@ -1,67 +1,36 @@
<form <form class="{{cssClass}}" autocomplete="off">
class="{{cssClass}}" <header class="sheet-header">
autocomplete="off" <img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
> <div class="header-fields">
<header class="sheet-header"> <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
<img </div>
class="profile-img" </header>
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>
<section class="sheet-body"> <section class="sheet-body">
<div class="flexrow"> {{> "systems/vermine2047/templates/item/partials/traits.html"}}
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.clew"}}</label>
<input
type="number"
name="system.level"
value="{{system.level}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input
type="number"
name="system.mobility"
value="{{system.mobility}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input
type="number"
name="system.rarity"
value="{{system.rarity}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input
type="number"
name="system.reliability"
value="{{system.reliability}}"
data-dtype="Number"
/>
</div>
</div>
<h2>description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</div>
{{> "systems/vermine2047/templates/item/partials/damages.html"}}
</section>
</form> <div class="flexrow">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.clew"}}</label>
<input type="number" name="system.level" value="{{system.level}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input type="number" name="system.mobility" value="{{system.mobility}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/>
</div>
</div>
<h2>description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</div>
{{> "systems/vermine2047/templates/item/partials/damages.html"}}
</section></form>
+36 -66
View File
@@ -1,72 +1,42 @@
<form <form class="{{cssClass}}" autocomplete="off">
class="{{cssClass}}" <header class="sheet-header">
autocomplete="off" <img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
> <div class="header-fields">
<header class="sheet-header"> <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
<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> </div>
</header> </header>
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body "> <section class="sheet-body ">
<div class="flexrow"> {{> "systems/vermine2047/templates/item/partials/traits.html"}}
{{!-- Description Tab --}}
<div class="resource">
<label class="resource-label">Rarity</label>
<input
type="number"
name="system.rarity"
value="{{system.rarity}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">Reliability</label>
<input
type="number"
name="system.reliability"
value="{{system.reliability}}"
data-dtype="Number"
/>
</div>
<div class="resource"> <div class="flexrow">
<label class="resource-label">Quantity</label> {{!-- Description Tab --}}
<input <div class="resource">
type="text" <label class="resource-label">Rarity</label>
name="system.quantity" <input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/>
value="{{system.quantity}}" </div>
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">Weight</label>
<input
type="text"
name="system.weight"
value="{{system.weight}}"
data-dtype="Number"
/>
</div>
</div>
<h2>Description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
{{> "systems/vermine2047/templates/item/partials/damages.html"}} <div class="resource">
</section> <label class="resource-label">Reliability</label>
</form> <input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Quantity</label>
<input type="text" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Weight</label>
<input type="text" name="system.weight" value="{{system.weight}}" data-dtype="Number"/>
</div>
</div>
<h2>Description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
{{> "systems/vermine2047/templates/item/partials/damages.html"}}
</section>
</form>
+32 -61
View File
@@ -1,63 +1,34 @@
<form <form class="{{cssClass}}" autocomplete="off">
class="{{cssClass}}" <header class="sheet-header">
autocomplete="off" <img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
> <div class="header-fields">
<header class="sheet-header"> <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
<img </div>
class="profile-img" </header>
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>
<section class="sheet-body"> <section class="sheet-body">
<div {{> "systems/vermine2047/templates/item/partials/traits.html"}}
class=" flexcol"
data-group="primary"
data-tab="description"
>
<div class="flexrow">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input
type="number"
name="system.mobility"
value="{{system.mobility}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input
type="number"
name="system.rarity"
value="{{system.rarity}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input
type="number"
name="system.reliability"
value="{{system.reliability}}"
data-dtype="Number"
/>
</div>
</div>
<h2>Description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</div>
{{> "systems/vermine2047/templates/item/partials/damages.html"}}
</section>
</form> <div class=" flexcol" data-group="primary" data-tab="description">
<div class="flexrow">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input type="number" name="system.mobility" value="{{system.mobility}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/>
</div>
</div>
<h2>Description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</div>
{{> "systems/vermine2047/templates/item/partials/damages.html"}}
</section>
</form>
+34 -11
View File
@@ -9,29 +9,52 @@
{{> "systems/vermine2047/templates/item/partials/traits.html"}} {{> "systems/vermine2047/templates/item/partials/traits.html"}}
<h4 class="flexrow"> <h4 class="flexrow">
<div class="resource"> <div class="resource align-center flexcol">
<label class="resource-label">{{ localize "VERMINE.ranges"}}</label> <label class="resource-label">{{ localize "VERMINE.ranges"}}</label>
<div> <div class="flexrow align-center">
<span class="hexa"> <div class="hexa">
<input type="number" name="system.min_range" value="{{system.min_range}}" data-dtype="Number"/> <input type="number" name="system.min_range" value="{{system.min_range}}" data-dtype="Number"/>
</span>/ </div>/
<span class="hexa"> <div class="hexa">
<input type="number" name="system.max_range" value="{{system.max_range}}" data-dtype="Number"/></span> <input type="number" name="system.max_range" value="{{system.max_range}}" data-dtype="Number"/></div>
</div> </div>
</div> </div>
<div class="resource"> <div class="resource align-center flexcol">
<label class="resource-label">{{ localize "VERMINE.damages"}}</label> <label class="resource-label">{{ localize "VERMINE.damages"}}</label>
<div class="hexa"><input type="number" name="system.damage" value="{{system.damage}}" data-dtype="Number"/></div> <div class="flexcol align-center">
<div class="flexrow">
<div class="hexa">
<input type="number" name="system.damage.value" value="{{system.damage.value}}" data-dtype="Number"/>
</div>
<span>
<input type="checkbox" data-tooltip="ajouter la vigueur" name="system.damage.addVigor" {{#if system.damage.addVigor}} checked {{/if}}>
</span>
</div>
<input type="text" placeholder="type" name="system.damage.type" value="{{system.damage.type}}" data-dtype="Text" list="damageType"/>
<datalist id="damageType">
<option value="choc">choc</option>
<option value="lame">lame</option>
<option value="feu">feu</option>
<option value="balle">balle</option>
</datalist>
</div>
</div> </div>
<div class="resource"> <div class="resource align-center flexcol">
<label class="resource-label">{{ localize "VERMINE.ammo"}}</label> <label class="resource-label">{{ localize "VERMINE.ammo"}}</label>
<div class="hexa"><input type="number" name="system.ammo" value="{{system.ammo}}" data-dtype="Number"/></div> <div class="hexa"><input type="number" name="system.ammo" value="{{system.ammo}}" data-dtype="Number"/></div>
</div> </div>
<div class="resource"> <div class="resource align-center flexcol">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label> <label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<div class="hexa"><input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/></div> <div class="hexa"><input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/></div>
</div> </div>
<div class="resource"> <div class="resource align-center flexcol">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label> <label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<div class="hexa"><input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/></div> <div class="hexa"><input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/></div>
</div> </div>
+9 -7
View File
@@ -5,11 +5,13 @@
</span> </span>
</h3> </h3>
{{#each item.system.traits as | trait index|}} <h4>
<span data-tooltip="{{trait.description}}">{{trait.name}} {{#each item.system.traits as | trait index|}}
{{#if trait.value}} <span data-tooltip="{{trait.description}}">{{trait.name}}
<input type="number" class="hexa" value="{{trait.value}}" name="system.traits.{{index}}.value"> {{#if trait.value}}
{{/if}} <input type="number" class="hexa" value="{{trait.value}}" name="system.traits.{{index}}.value">
</span> {{/if}}
{{/each}} </span>
{{/each}}
</h4>
</div> </div>