Fix bestiary import

This commit is contained in:
sladecraven 2022-11-10 23:43:51 +01:00
parent 927ddf1328
commit f88fbf977d
20 changed files with 607 additions and 25 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

View File

@ -43,6 +43,7 @@ export class HawkmoonActorSheet extends ActorSheet {
protections: duplicate(this.actor.getArmors()),
historique: duplicate(this.actor.getHistorique() || {}),
talents: duplicate(this.actor.getTalents() || {}),
talentsCell: this.getCelluleTalents(),
profils: duplicate(this.actor.getProfils() || {}),
combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()),
@ -58,6 +59,19 @@ export class HawkmoonActorSheet extends ActorSheet {
return formData;
}
/* -------------------------------------------- */
getCelluleTalents( ) {
let talents = []
for(let cellule of game.actors) {
if (cellule.type == "cellule") {
let found = cellule.system.members.find( it => it.id == this.actor.id)
if (found) {
talents = talents.concat( cellule.getTalents() )
}
}
}
return talents
}
/* -------------------------------------------- */
/** @override */
@ -105,10 +119,14 @@ export class HawkmoonActorSheet extends ActorSheet {
this.actor.incDecQuantity( li.data("item-id"), +1 );
} );
html.find('.roll-initiative').click((event) => {
this.actor.rollAttribut("pre", 1)
})
html.find('.roll-attribut').click((event) => {
const li = $(event.currentTarget).parents(".item")
let attrKey = li.data("attr-key")
this.actor.rollAttribut(attrKey)
this.actor.rollAttribut(attrKey, 2)
})
html.find('.roll-competence').click((event) => {
const li = $(event.currentTarget).parents(".item")

View File

@ -82,7 +82,18 @@ export class HawkmoonActor extends Actor {
return armes
}
/* -------------------------------------------- */
/* ----------------------- --------------------- */
addMember( actorId) {
let members = duplicate(this.system.members)
members.push( {id: actorId} )
this.update ({'system.members': members})
}
async removeMember(actorId) {
let members = this.system.members.filter(it => it.id != actorId )
this.update ({'system.members': members})
}
/* ----------------------- --------------------- */
getEquipments() {
return this.items.filter(item => item.type == "equipement")
}
@ -99,6 +110,12 @@ export class HawkmoonActor extends Actor {
getTalents() {
return this.items.filter(item => item.type == "talent")
}
getRessources() {
return this.items.filter(item => item.type == "ressource")
}
getContacts() {
return this.items.filter(item => item.type == "contact")
}
/* -------------------------------------------- */
getSkills() {
let comp = []
@ -396,16 +413,13 @@ export class HawkmoonActor extends Actor {
}
/* -------------------------------------------- */
getBestDefenseValue() {
let defenseList = this.items.filter(item => (item.type == "arme" || item.type == "bouclier") && item.system.equipped)
let defenseList = this.items.filter(item => (item.type == "arme") && item.system.equipped)
let maxDef = 0
let bestArme
for (let arme of defenseList) {
if (arme.type == "arme" && arme.system.isdefense) {
if (arme.type == "arme" ) {
arme = this.prepareArme(arme)
}
if (arme.type == "bouclier") {
arme = this.prepareBouclier(arme)
}
if (arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif
bestArme = duplicate(arme)
@ -470,8 +484,9 @@ export class HawkmoonActor extends Actor {
}
/* -------------------------------------------- */
async rollAttribut(attrKey) {
async rollAttribut(attrKey, multiplier = 1) {
let rollData = this.getCommonRollData(attrKey)
rollData.multiplier = multiplier
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
rollDialog.render(true)
}
@ -479,6 +494,7 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
async rollCompetence(attrKey, compId) {
let rollData = this.getCommonRollData(attrKey, compId)
rollData.multiplier = 1 // Attr multiplier, always 1 in competence mode
console.log("RollDatra", rollData)
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
rollDialog.render(true)

View File

@ -0,0 +1,165 @@
/**
* Extend the basic ActorSheet with some very simple modifications
* @extends {ActorSheet}
*/
import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
/* -------------------------------------------- */
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1}
/* -------------------------------------------- */
export class HawkmoonCelluleSheet extends ActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.html",
width: 640,
height: 720,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "talents" }],
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
editScore: false
});
}
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
let formData = {
title: this.title,
id: objectData.id,
type: objectData.type,
img: objectData.img,
name: objectData.name,
editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked",
system: objectData.system,
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
limited: this.object.limited,
talents: duplicate(this.actor.getTalents() || {}),
ressources: duplicate(this.actor.getRessources()),
contacts: duplicate(this.actor.getContacts()),
members: this.getMembers(),
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
isGM: game.user.isGM
}
this.formData = formData;
console.log("CELLULE : ", formData, this.object);
return formData;
}
/* -------------------------------------------- */
getMembers( ) {
let membersFull = []
for(let def of this.actor.system.members) {
let actor = game.actors.get(def.id)
membersFull.push( { name: actor.name, id: actor.id, img: actor.img } )
}
return membersFull
}
/* -------------------------------------------- */
/** @override */
activateListeners(html) {
super.activateListeners(html);
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
// Update Inventory Item
html.find('.actor-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let actorId = li.data("actor-id")
const actor = game.actors.get(actorId)
actor.sheet.render(true)
})
html.find('.actor-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let actorId = li.data("actor-id")
this.actor.removeMember(actorId)
})
// Update Inventory Item
html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
const item = this.actor.items.get(itemId)
item.sheet.render(true)
})
// Delete Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");
HawkmoonUtility.confirmDelete(this, li);
})
html.find('.edit-item-data').change(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
let itemType = li.data("item-type")
let itemField = $(ev.currentTarget).data("item-field")
let dataType = $(ev.currentTarget).data("dtype")
let value = ev.currentTarget.value
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
})
html.find('.quantity-minus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity(li.data("item-id"), -1);
});
html.find('.quantity-plus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity(li.data("item-id"), +1);
});
html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore;
this.render(true);
});
}
/* -------------------------------------------- */
async _onDropActor(event, dragData) {
const actor = fromUuidSync(dragData.uuid)
if (actor) {
this.actor.addMember(actor.id)
} else {
ui.notifications.warn("Cet acteur n'a pas été trouvé.")
}
super._onDropActor(event)
}
/* -------------------------------------------- */
async _onDropItem(event, dragData) {
let data = event.dataTransfer.getData('text/plain')
let dataItem = JSON.parse(data)
let item = fromUuidSync(dataItem.uuid)
if (item.pack) {
item = await HawkmoonUtility.searchItem(item)
}
if ( __ALLOWED_ITEM_CELLULE[item.type]) {
super._onDropItem(event, dragData)
return
}
ui.notifications("Ce type d'item n'est pas autorisé sur une Cellule.")
}
/* -------------------------------------------- */
/** @override */
setPosition(options = {}) {
const position = super.setPosition(options);
const sheetBody = this.element.find(".sheet-body");
const bodyHeight = position.height - 192;
sheetBody.css("height", bodyHeight);
return position;
}
}

View File

@ -11,6 +11,7 @@
import { HawkmoonActor } from "./hawkmoon-actor.js";
import { HawkmoonItemSheet } from "./hawkmoon-item-sheet.js";
import { HawkmoonActorSheet } from "./hawkmoon-actor-sheet.js";
import { HawkmoonCelluleSheet } from "./hawkmoon-cellule-sheet.js";
import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonCombat } from "./hawkmoon-combat.js";
import { HawkmoonItem } from "./hawkmoon-item.js";
@ -31,7 +32,7 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */
// Set an initiative formula for the system
CONFIG.Combat.initiative = {
formula: "1d6",
formula: "1d10",
decimals: 1
};
@ -54,7 +55,7 @@ Hooks.once("init", async function () {
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
//Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonNPCSheet, { types: ["npc"], makeDefault: false });
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })

View File

@ -42,6 +42,23 @@ export class HawkmoonUtility {
return parseInt(a) * parseInt(b);
})
game.settings.register("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo", {
name: "Logo de pause",
scope: "world",
config: true,
requiresReload: true,
default: "logo_pause_resistance",
type: String,
choices: { // If choices are defined, the resulting setting will be a select menu
"hawkmoon_logo": "Hawmoon (Texte)",
"logo_pause_resistance": "Résistance",
"logo_pause_hawkmoon_stone": "Hawkmoon (Pierre)",
"logo_pause_hawkmoon_violet": "Hawkmoon (Violet)",
"logo_pause_hawkmoon_beiget": "Hawkmoon (Beige)",
"logo_pause_hawkmoon_rouge": "Hawkmoon (Rouge)"
},
})
}
/* -------------------------------------------- */
@ -79,6 +96,11 @@ export class HawkmoonUtility {
static async ready() {
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
this.skills = skills.map(i => i.toObject())
// Setup pause logo
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
let logoImg = document.querySelector('#pause').children[0]
logoImg.setAttribute('style', `content: url(${logoPause})`)
}
/* -------------------------------------------- */
@ -333,7 +355,7 @@ export class HawkmoonUtility {
}
}
} else {
rollData.diceFormula += `+${rollData.attr.value}*2+${rollData.modificateur}`
rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}`
}
// Ajout adversités

View File

@ -844,6 +844,25 @@ ul, li {
height: 52px;
}
.adversite-text {
font-weight: bold;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.icon-adversite-container {
position: relative;
text-align: center;
color: white;
width: 64px;
min-height: 48px;
}
.icon-adversite {
width: 48px;
border: 0px;
}
.actor-icon {
float: left;
width: 48px;
@ -1159,16 +1178,18 @@ ul, li {
box-shadow: inset 0px 1px 0px 0px #a6827e;
background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%);
background-color: #7d5d3b00;
border-radius: 3px;
border-radius: 4px;
border: 2px ridge #846109;
display: inline-block;
cursor: pointer;
color: #ffffff;
padding: 2px 6px 0px 6px;
padding: 3px 6px 2px 6px;
text-decoration: none;
text-shadow: 0px 1px 0px #4d3534;
position: relative;
margin:3px;
max-width: 24px;
max-height: 24px;
}
.river-button:hover,

View File

@ -1,11 +1,31 @@
{
"id": "fvtt-hawkmoon-cyd",
"description": "Hawmoon RPG for FoundryVTT (CYD system - French)",
"version": "10.0.9",
"version": "10.0.16",
"authors": [
{
"name": "Uberwald/LeRatierBretonnien",
"flags": {}
},
{
"name": "Prêtre",
"flags": {}
},
{
"name": "Blondin",
"flags": {}
},
{
"name": "Zechrub/Chris",
"flags": {}
},
{
"name": "Kyllian",
"flags": {}
},
{
"name": "Lightbringer",
"flags": {}
}
],
"esmodules": [
@ -15,7 +35,7 @@
"gridUnits": "m",
"license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/raw/branch/master/system.json",
"download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-10.0.9.zip",
"download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-10.0.16.zip",
"packs": [
{
"type": "Item",

View File

@ -1,7 +1,8 @@
{
"Actor": {
"types": [
"personnage"
"personnage",
"cellule"
],
"templates": {
"biodata": {
@ -91,6 +92,13 @@
"core"
]
},
"cellule": {
"notoriete": 0,
"resistance": 0,
"developpement": 0,
"members": [],
"description": ""
},
"pnj": {
"templates": [
"npccore"
@ -123,8 +131,20 @@
"protection",
"monnaie",
"equipement",
"artefact"
"artefact",
"ressource",
"contact"
],
"ressource": {
"pointdev": 0,
"description": ""
},
"contact": {
"contacttype": "",
"niveau": "",
"pointdev": 0,
"description": ""
},
"talent": {
"talenttype": "",
"utilisation": "",

View File

@ -83,12 +83,15 @@
<ul class="item-list alternate-list">
{{#each system.adversite as |adv key|}}
<li class="item flexrow" data-adversite="{{key}}">
<label class="label-name item-field-label-short">{{upperFirst key}}</label>
<label class="label-name item-field-label-short">{{adv}}</label>
<span class="status-small-label no-grow">
<a class="adversite-modify plus-minus-button" data-adversite-value="-1">-</a>
<div class="icon-adversite-container">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_{{key}}.webp">
<div class="adversite-text">{{adv}}</div>
</div>
<a class="adversite-modify plus-minus-button" data-adversite-value="1">+</a>
<a class="adversite-modify plus-minus-button" data-adversite-value="-1">&nbsp;-</a>
</span>
<div class="">&nbsp;</div>
<div class="">&nbsp;</div>
<div class="">&nbsp;</div>
</li>
{{/each}}
</ul>
@ -114,7 +117,7 @@
<h4 class="item-name-label competence-name">Combat</h4>
<ul class="item-list alternate-list">
<li class="item flexrow">
<button class="chat-card-button roll-initiative">Lancer l'initiative</button>
<button class="chat-card-button roll-initiative">Initiative</button>
</li>
</ul>
</div>
@ -209,6 +212,33 @@
{{/each}}
</ul>
</div>
</div>
<div class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Talents de Cellule</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Résumé</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each talentsCell as |talent key|}}
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
<img class="item-name-img" src="{{talent.img}}" />
<span class="item-name-label competence-name">{{talent.name}}</span>
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div>

View File

@ -0,0 +1,188 @@
<form class="{{cssClass}}" autocomplete="off">
{{!-- Sheet Header --}}
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="flexcol">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow">
<ul class="item-list alternate-list">
<li class="item flexrow">
<h4 class="item-name-label competence-name item-field-label-medium">Notoriété</h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.notoriete" value="{{system.notoriete}}" data-dtype="Number" />
<h4 class="item-name-label competence-name item-field-label-long">Résistance</h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.resistance" value="{{system.resistance}}" data-dtype="Number" />
</li>
<li class="item flexrow ">
<h4 class="item-name-label competence-name item-field-label-long">Développement</h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.developpement" value="{{system.developpement}}" data-dtype="Number" />
</li>
</ul>
</div>
</div>
</div>
</header>
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="talents">Membres&Talents</a>
<a class="item" data-tab="contacts">Contacts</a>
<a class="item" data-tab="ressources">Ressources</a>
<a class="item" data-tab="biodata">Description</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Talents Tab --}}
<div class="tab talents" data-group="primary" data-tab="talents">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Membres</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each members as |membre key|}}
<li class="item flexrow " data-actor-id="{{membre.id}}" >
<img class="item-name-img" src="{{membre.img}}" />
<span class="item-name-label competence-name">{{membre.name}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control actor-edit" title="Edit Actor"><i class="fas fa-edit"></i></a>
<a class="item-control actor-delete" title="Delete Actor"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Talents de Cellule</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Résumé</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each talents as |talent key|}}
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
<img class="item-name-img" src="{{talent.img}}" />
<span class="item-name-label competence-name">{{talent.name}}</span>
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<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>
{{!-- Contacts Tab --}}
<div class="tab contacts" data-group="primary" data-tab="contacts">
<div class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Contacts</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Niveau</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each contacts as |contact key|}}
<li class="item flexrow " data-item-id="{{contact._id}}" data-item-type="competence">
<img class="item-name-img" src="{{contact.img}}" />
<span class="item-name-label competence-name">{{contact.name}}</span>
<span class="item-name-label item-field-label-medium">{{upperFirst contact.system.contacttype}}</span>
<span class="item-name-label item-field-label-medium">{{contact.system.niveau}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<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>
</div>
{{!-- Ressources Tab --}}
<div class="tab ressources" data-group="primary" data-tab="ressources">
<div class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Ressources</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each ressources as |ressource key|}}
<li class="item flexrow " data-item-id="{{ressource._id}}" data-item-type="competence">
<img class="item-name-img" src="{{ressource.img}}" />
<span class="item-name-label competence-name">{{ressource.name}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<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>
</div>
{{!-- Biography Tab --}}
<div class="tab biodata" data-group="primary" data-tab="biodata">
<span>
<h3>Description</h3>
</span>
<div class="medium-editor item-text-long-line">
{{editor description target="system.description" button=true owner=owner editable=editable}}
</div>
</div>
</section>
</form>

View File

@ -0,0 +1,50 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html}}
<div class="tab details" data-group="primary" data-tab="details">
<ul class="item-list alternate-list">
<li class="flexrow item">
<label class="generic-label item-field-label-long">Type : </label>
<select class="item-field-label-long" type="text" name="system.contacttype" value="{{system.contacttype}}" data-dtype="String">
{{#select system.contacttype}}
<option value="contact">Contact</option>
<option value="allie">Allié</option>
{{/select}}
</select>
<label class="generic-label item-field-label-long">Niveau : </label>
<select class="item-field-label-long" type="text" name="system.niveau" value="{{system.niveau}}" data-dtype="Number">
{{#select system.niveau}}
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
{{/select}}
</select>
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">Développement : </label>
<input type="text" class="padd-right item-field-label-long" name="system.pointdev"
value="{{system.pointdev}}" data-dtype="Number" />
</li>
</ul>
</div>
</section>
</form>

View File

@ -0,0 +1,31 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html}}
<div class="tab details" data-group="primary" data-tab="details">
<ul class="item-list alternate-list">
<li class="flexrow item">
<label class="generic-label item-field-label-long">Développement : </label>
<input type="text" class="padd-right item-field-label-long" name="system.pointdev"
value="{{system.pointdev}}" data-dtype="Number" />
</li>
</ul>
</div>
</section>
</form>