Compare commits
10 Commits
fvtt-les-h
...
master
Author | SHA1 | Date |
---|---|---|
LeRatierBretonnien | 2b3e774cbb | |
LeRatierBretonnien | 96f8d2bceb | |
LeRatierBretonnien | e288c90ee4 | |
LeRatierBretonnien | 8916de8613 | |
LeRatierBretonnien | 8598df5a57 | |
LeRatierBretonnien | 8781462c8d | |
LeRatierBretonnien | 8c38aead3e | |
LeRatierBretonnien | 67bf71e6c0 | |
LeRatierBretonnien | 63d15e82bb | |
LeRatierBretonnien | 62c3787cea |
Binary file not shown.
After Width: | Height: | Size: 192 KiB |
45
lang/fr.json
45
lang/fr.json
|
@ -1,30 +1,23 @@
|
|||
{
|
||||
"ACTOR": {
|
||||
"TypePersonnage": "Personnage",
|
||||
"TypePNJ": "PNJ"
|
||||
},
|
||||
|
||||
"ITEM": {
|
||||
"TypeArtefact": "Artefact",
|
||||
"TypeArme": "Arme",
|
||||
"TypeTalent": "Talent",
|
||||
"TypeHistorique": "Historique",
|
||||
"TypeProfil": "Profil",
|
||||
"TypeCompetence": "Compétence",
|
||||
"TypeProtection": "Protection",
|
||||
"TypeMonnaie": "Monnaie",
|
||||
"TypeEquipement": "Equipement",
|
||||
"TypeRessource": "Ressource",
|
||||
"TypeContact": "Contact"
|
||||
|
||||
},
|
||||
|
||||
"HAWKMOON": {
|
||||
"ui": {
|
||||
"editContact": "Modifier le contact",
|
||||
"deleteContact": "Supprimer le contact",
|
||||
"editTrait": "Modifier le trait",
|
||||
"deleteTrait": "Supprimer le trait"
|
||||
"TYPES": {
|
||||
"Actor": {
|
||||
"personnage": "Personnage",
|
||||
"pnj": "PNJ"
|
||||
},
|
||||
"Item": {
|
||||
"accessoire": "Accessoire",
|
||||
"arme": "Arme",
|
||||
"atoutfeerique": "Atout féerique",
|
||||
"avantage": "Avantage",
|
||||
"capacitenaturelle": "Capacité naturelle",
|
||||
"competence": "Compétence",
|
||||
"contact": "Contact",
|
||||
"desavantage": "Désavantage",
|
||||
"equipement": "Equipement",
|
||||
"fee": "Fée",
|
||||
"pouvoir": "Pouvoir",
|
||||
"profil": "Profil",
|
||||
"protection": "Protection"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -77,19 +77,42 @@ export class HeritiersActorSheet extends ActorSheet {
|
|||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
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() )
|
||||
dialogRecupUsage() {
|
||||
new Dialog({
|
||||
title: "Récupération des Points d'Usage",
|
||||
content: "<p>Combien de Points d'Usage souhaitez-vous récupérer ?</p>",
|
||||
buttons: {
|
||||
one: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "1 Point",
|
||||
callback: () => {
|
||||
this.actor.recupUsage(1)
|
||||
}
|
||||
},
|
||||
two: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "2 Points",
|
||||
callback: () => {
|
||||
this.actor.recupUsage(2)
|
||||
}
|
||||
},
|
||||
four: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "4 Points",
|
||||
callback: () => {
|
||||
this.actor.recupUsage(4)
|
||||
}
|
||||
},
|
||||
all: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Tous les Points",
|
||||
callback: () => {
|
||||
this.actor.recupUsage(100)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return talents
|
||||
}).render(true)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
|
@ -180,7 +203,10 @@ export class HeritiersActorSheet extends ActorSheet {
|
|||
let pouvoirId = li.data("item-id")
|
||||
this.actor.rollPouvoir(pouvoirId)
|
||||
})
|
||||
|
||||
html.find('.dialog-recup-usage').click((event) => {
|
||||
this.dialogRecupUsage()
|
||||
})
|
||||
|
||||
html.find('.item-add').click((event) => {
|
||||
const itemType = $(event.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
|
|
|
@ -73,7 +73,7 @@ export class HeritiersActor extends Actor {
|
|||
getOtherMeleeWeapons(excludeArme) {
|
||||
let armes = []
|
||||
for (let arme of this.items) {
|
||||
if ( HeritiersUtility.isArmeMelee(arme) && arme.id != excludeArme._id) {
|
||||
if (HeritiersUtility.isArmeMelee(arme) && arme.id != excludeArme._id) {
|
||||
armes.push(this.prepareArme(arme))
|
||||
}
|
||||
}
|
||||
|
@ -135,8 +135,18 @@ export class HeritiersActor extends Actor {
|
|||
return this.getItemSorted(["profil"])
|
||||
}
|
||||
getPouvoirs() {
|
||||
return this.getItemSorted(["pouvoir"])
|
||||
let pouvoirs = []
|
||||
for (let item of this.items) {
|
||||
if (item.type == "pouvoir") {
|
||||
let itemObj = duplicate(item)
|
||||
itemObj.maxUsage = this.getPouvoirUsageMax(item)
|
||||
pouvoirs.push(itemObj)
|
||||
}
|
||||
}
|
||||
HeritiersUtility.sortArrayObjectsByName(pouvoirs)
|
||||
return pouvoirs
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getSkills() {
|
||||
let comp = []
|
||||
|
@ -152,7 +162,7 @@ export class HeritiersActor extends Actor {
|
|||
/* -------------------------------------------- */
|
||||
prepareUtileSkill(item) {
|
||||
let specList = []
|
||||
if (item && item.system.categorie && item.system.categorie == "utile") {
|
||||
if (item?.system?.categorie == "utile") {
|
||||
for (let spec of item.system.specialites) {
|
||||
specList.push(spec.name)
|
||||
}
|
||||
|
@ -249,6 +259,11 @@ export class HeritiersActor extends Actor {
|
|||
/* -------------------------------------------- */
|
||||
async prepareData() {
|
||||
super.prepareData();
|
||||
|
||||
let pvMax = (this.system.caracteristiques.con.rang * 3) + 9 + this.system.pv.mod
|
||||
if (this.system.pv.max != pvMax) {
|
||||
this.update({ 'system.pv.max': pvMax })
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -278,7 +293,7 @@ export class HeritiersActor extends Actor {
|
|||
/* -------------------------------------------- */
|
||||
async equipItem(itemId) {
|
||||
let item = this.items.find(item => item.id == itemId)
|
||||
if (item && item.system) {
|
||||
if (item?.system) {
|
||||
let update = { _id: item.id, "system.equipped": !item.system.equipped }
|
||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||
}
|
||||
|
@ -339,7 +354,7 @@ export class HeritiersActor extends Actor {
|
|||
/* -------------------------------------------- */
|
||||
async equipGear(equipmentId) {
|
||||
let item = this.items.find(item => item.id == equipmentId);
|
||||
if (item && item.system.data) {
|
||||
if (item?.system) {
|
||||
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||
}
|
||||
|
@ -501,7 +516,7 @@ export class HeritiersActor extends Actor {
|
|||
incDecTricherie(value) {
|
||||
let tricherie = this.system.rang.tricherie
|
||||
tricherie.value += value
|
||||
if ( tricherie.value < 0 || tricherie.value > tricherie.max) {
|
||||
if (tricherie.value < 0 || tricherie.value > tricherie.max) {
|
||||
ui.notifications.warn("Pas assez de points de Tricherie !")
|
||||
return false
|
||||
}
|
||||
|
@ -512,9 +527,9 @@ export class HeritiersActor extends Actor {
|
|||
}
|
||||
/* -------------------------------------------- */
|
||||
getPireCompetence(compName1, compName2) {
|
||||
let comp1 = this.items.find( it => it.name == compName1)
|
||||
let comp2 = this.items.find( it => it.name == compName2)
|
||||
if ( comp1 && comp2 ) {
|
||||
let comp1 = this.items.find(it => it.name == compName1)
|
||||
let comp2 = this.items.find(it => it.name == compName2)
|
||||
if (comp1 && comp2) {
|
||||
if (comp1.system.niveau > comp2.system.niveau) {
|
||||
return comp1
|
||||
} else {
|
||||
|
@ -523,6 +538,7 @@ export class HeritiersActor extends Actor {
|
|||
}
|
||||
return undefined
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCommonRollData(compId = undefined, compName = undefined) {
|
||||
let rollData = HeritiersUtility.getBasicRollData()
|
||||
|
@ -538,6 +554,7 @@ export class HeritiersActor extends Actor {
|
|||
rollData.useTricherie = false
|
||||
rollData.useSpecialite = false
|
||||
rollData.useHeritage = false
|
||||
rollData.pouvoirPointsUsage = 1
|
||||
rollData.rulesMalus.push(this.getPvMalus())
|
||||
|
||||
if (compId) {
|
||||
|
@ -547,7 +564,7 @@ export class HeritiersActor extends Actor {
|
|||
}
|
||||
if (compName) {
|
||||
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||
if (rollData.competence && rollData.competence.name) {
|
||||
if (rollData.competence?.name) {
|
||||
this.prepareUtileSkill(rollData.competence)
|
||||
rollData.actionImg = rollData.competence?.img
|
||||
} else {
|
||||
|
@ -595,7 +612,6 @@ export class HeritiersActor extends Actor {
|
|||
async rollRootCompetence(compKey) {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "competence"
|
||||
console.log("Compkey", compKey)
|
||||
rollData.competence = { name: this.system.competences[compKey].label, system: { niveau: this.system.competences[compKey].niveau } }
|
||||
console.log("RollDatra", rollData)
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
|
@ -619,7 +635,7 @@ export class HeritiersActor extends Actor {
|
|||
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
|
||||
let competenceName = "Tir"
|
||||
let key = "prec"
|
||||
if ( arme.system.isMelee) {
|
||||
if (arme.system.isMelee) {
|
||||
competenceName = "Mêlée"
|
||||
key = "agi"
|
||||
}
|
||||
|
@ -629,7 +645,7 @@ export class HeritiersActor extends Actor {
|
|||
rollData.arme = arme
|
||||
rollData.mode = "arme"
|
||||
rollData.armes = this.getOtherMeleeWeapons(arme)
|
||||
if (rollData.defenderTokenId && arme.system.isMelee ) {
|
||||
if (rollData.defenderTokenId && arme.system.isMelee) {
|
||||
rollData.cacheDifficulte = true
|
||||
}
|
||||
console.log(">>>> ARME", rollData)
|
||||
|
@ -651,7 +667,7 @@ export class HeritiersActor extends Actor {
|
|||
rollData.arme = duplicate(arme)
|
||||
rollData.mode = "attaquebrutale"
|
||||
rollData.armes = this.getOtherMeleeWeapons(arme)
|
||||
rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 } )
|
||||
rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 })
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
|
@ -673,7 +689,7 @@ export class HeritiersActor extends Actor {
|
|||
rollDialog.render(true)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollAssomerArme(armeId) {
|
||||
let arme = this.items.get(armeId)
|
||||
|
@ -693,17 +709,85 @@ export class HeritiersActor extends Actor {
|
|||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
pouvoirPassifDialog(pouvoir) {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.pouvoir = pouvoir
|
||||
rollData.mode = "pouvoirpassif"
|
||||
rollData.pouvoirPointsUsage = 0
|
||||
rollData.noRoll = true
|
||||
|
||||
let d = new Dialog({
|
||||
title: "Activer le pouvoir passif " + pouvoir.name,
|
||||
content: "<p>Choisissez le nombre de Points d'Usage</p>",
|
||||
buttons: {
|
||||
one: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "1 Point d'Usage",
|
||||
callback: () => {
|
||||
rollData.pouvoirPointsUsage = 1;
|
||||
HeritiersUtility.rollHeritiers(rollData);
|
||||
}
|
||||
},
|
||||
two: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "2 Points d'Usage",
|
||||
callback: () => {
|
||||
rollData.pouvoirPointsUsage = 2;
|
||||
HeritiersUtility.rollHeritiers(rollData);
|
||||
}
|
||||
},
|
||||
three: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "3 Points d'Usage",
|
||||
callback: () => {
|
||||
rollData.pouvoirPointsUsage = 3;
|
||||
HeritiersUtility.rollHeritiers(rollData);
|
||||
}
|
||||
},
|
||||
four: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "4 Points d'Usage",
|
||||
callback: () => {
|
||||
rollData.pouvoirPointsUsage = 4;
|
||||
HeritiersUtility.rollHeritiers(rollData);
|
||||
}
|
||||
},
|
||||
close: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Annuler",
|
||||
callback: () => {
|
||||
}
|
||||
}
|
||||
},
|
||||
default: "one",
|
||||
render: html => console.log("Pouvoir passif"),
|
||||
close: html => console.log("No option")
|
||||
});
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollPouvoir(pouvoirId) {
|
||||
let pouvoir = this.items.get(pouvoirId)
|
||||
if (pouvoir) {
|
||||
if (pouvoir.system.pouvoirtype == "passif") {
|
||||
this.pouvoirPassifDialog(pouvoir)
|
||||
return
|
||||
}
|
||||
|
||||
let rollData = this.getCommonRollData(undefined, undefined)
|
||||
if (pouvoir.system.feeriemasque != "autre") {
|
||||
rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
|
||||
rollData.pouvoirBase.label = "Féerie"
|
||||
if (!pouvoir.system.carac) {
|
||||
ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " n'a pas de caractéristique associée")
|
||||
return
|
||||
}
|
||||
rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
|
||||
rollData.caracKey = pouvoir.system.carac
|
||||
}
|
||||
rollData.pouvoirMaxUsage = this.getPouvoirUsageMax(pouvoir)
|
||||
rollData.pouvoir = duplicate(pouvoir)
|
||||
rollData.mode = "pouvoir"
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
|
@ -711,4 +795,41 @@ export class HeritiersActor extends Actor {
|
|||
}
|
||||
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
incDecPointsUsage(pouvoirId, value) {
|
||||
let pouvoir = this.items.get(pouvoirId)
|
||||
let newValue = pouvoir.system.pointsusagecourant + value
|
||||
newValue = Math.max(newValue, 0)
|
||||
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: pouvoirId, 'system.pointsusagecourant': newValue }])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getPouvoirUsage(pouvoirId) {
|
||||
let pouvoir = this.items.get(pouvoirId)
|
||||
return pouvoir.system.pointsusagecourant
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getPouvoirUsageMax(pouvoir) {
|
||||
if (pouvoir.system.masquetype == "masque") {
|
||||
return this.system.rang.masque.value
|
||||
}
|
||||
return this.system.rang.feerie.value
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
recupUsage(value) {
|
||||
let updates = []
|
||||
for (let pouvoir of this.items) {
|
||||
if (pouvoir.type == "pouvoir") {
|
||||
let newValue = pouvoir.system.pointsusagecourant + value
|
||||
newValue = Math.max(newValue, 0)
|
||||
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
|
||||
updates.push({ _id: pouvoir.id, 'system.pointsusagecourant': newValue })
|
||||
}
|
||||
}
|
||||
if (updates.length > 0) {
|
||||
this.updateEmbeddedDocuments('Item', updates)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,11 +61,20 @@ export class HeritiersItemSheet extends ItemSheet {
|
|||
limited: this.object.limited,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
config: game.system.lesheritiers.config,
|
||||
config: game.system.lesheritiers.config,
|
||||
isArmeMelee: HeritiersUtility.isArmeMelee(this.object),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||
mr: (this.object.type == 'specialisation'),
|
||||
isGM: game.user.isGM
|
||||
isGM: game.user.isGM,
|
||||
usageMax: -1
|
||||
}
|
||||
|
||||
// Items specific data
|
||||
if (this.object.type == 'pouvoir' && this.document.isOwner && this.actor) {
|
||||
formData.usageMax = this.actor.getPouvoirUsageMax(this.object)
|
||||
if (this.object.system.pointsusagecourant == -1) {
|
||||
this.object.system.pointsusagecourant = formData.usageMax
|
||||
}
|
||||
}
|
||||
|
||||
//this.options.editable = !(this.object.origin == "embeddedItem");
|
||||
|
|
|
@ -79,31 +79,17 @@ function welcomeMessage() {
|
|||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register world usage statistics
|
||||
function registerUsageCount(registerKey) {
|
||||
if (game.user.isGM) {
|
||||
game.settings.register(registerKey, "world-key", {
|
||||
name: "Unique world key",
|
||||
scope: "world",
|
||||
config: false,
|
||||
default: "",
|
||||
type: String
|
||||
});
|
||||
|
||||
let worldKey = game.settings.get(registerKey, "world-key")
|
||||
if (worldKey == undefined || worldKey == "") {
|
||||
worldKey = randomID(32)
|
||||
game.settings.set(registerKey, "world-key", worldKey)
|
||||
}
|
||||
// Simple API counter
|
||||
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
||||
//$.ajaxSetup({
|
||||
//headers: { 'Access-Control-Allow-Origin': '*' }
|
||||
//})
|
||||
$.ajax(regURL)
|
||||
async function importDefaultScene() {
|
||||
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||
if (!exists) {
|
||||
const scenes = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.scenes")
|
||||
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||
await game.scenes.documentClass.create(newDocuments);
|
||||
game.scenes.find(i => i.name == "Accueil").activate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
|
@ -119,15 +105,16 @@ Hooks.once("ready", function () {
|
|||
user: game.user._id
|
||||
});
|
||||
}
|
||||
|
||||
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
||||
console.log("ClassCounter loaded", moduleCounter)
|
||||
moduleCounter.ClassCounter.registerUsageCount()
|
||||
}).catch(err=>
|
||||
console.log("No stats available, giving up.")
|
||||
)
|
||||
welcomeMessage();
|
||||
importDefaultScene();
|
||||
|
||||
registerUsageCount(game.system.id)
|
||||
welcomeMessage()
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -137,7 +124,7 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
|||
if (content[0] == '/') {
|
||||
let regExp = /(\S+)/g;
|
||||
let commands = content.match(regExp);
|
||||
if (game.system.mournblade.commands.processChatCommand(commands, content, msg)) {
|
||||
if (game.system.lesheritiers.commands.processChatCommand(commands, content, msg)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,18 +18,31 @@ export class HeritiersRollDialog extends Dialog {
|
|||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d8",
|
||||
callback: () => { this.roll("d8") }
|
||||
},
|
||||
rolld10: {
|
||||
}
|
||||
}
|
||||
let enableD10 = false
|
||||
let enableD12 = false
|
||||
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 0) {
|
||||
enableD10 = true
|
||||
}
|
||||
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 1) {
|
||||
enableD12 = true
|
||||
}
|
||||
if (enableD10) {
|
||||
buttons.rolld10 = {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d10",
|
||||
callback: () => { this.roll("d10") }
|
||||
},
|
||||
rolld12: {
|
||||
}
|
||||
}
|
||||
if (enableD12) {
|
||||
buttons.rolld12 = {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d12",
|
||||
callback: () => { this.roll("d12") }
|
||||
}
|
||||
}
|
||||
|
||||
if (rollData.tricherie) {
|
||||
buttons["rollTricherie"] = {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
|
@ -55,7 +68,7 @@ export class HeritiersRollDialog extends Dialog {
|
|||
buttons: buttons,
|
||||
close: close
|
||||
}
|
||||
// Overwrite in case of carac only -> 1d10
|
||||
// Overwrite in case of carac only -> 1d8
|
||||
if (rollData.mode == "carac") {
|
||||
conf.buttons = {
|
||||
rolld8: {
|
||||
|
@ -116,6 +129,9 @@ export class HeritiersRollDialog extends Dialog {
|
|||
html.find('#useSpecialite').change((event) => {
|
||||
this.rollData.useSpecialite = event.currentTarget.checked
|
||||
})
|
||||
html.find('#pouvoirPointsUsage').change((event) => {
|
||||
this.rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#attaqueDos').change((event) => {
|
||||
this.rollData.attaqueDos = event.currentTarget.checked
|
||||
})
|
||||
|
|
|
@ -434,6 +434,10 @@ export class HeritiersUtility {
|
|||
rollData.isSuccess = (rollData.finalResult >= seuil)
|
||||
rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7)
|
||||
rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7)
|
||||
// Si compétence > 0 et d8 -> echec critique impossible
|
||||
if (rollData?.competence?.system.niveau > 0 && rollData?.mainDice == "d8") {
|
||||
rollData.isCriticalFailure = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -467,6 +471,11 @@ export class HeritiersUtility {
|
|||
|
||||
let actor = this.getActorFromRollData(rollData)
|
||||
|
||||
if ( rollData.mode == "pouvoir" && actor.getPouvoirUsage(rollData.pouvoir._id) < rollData.pouvoirPointsUsage) {
|
||||
ui.notifications.warn("Pas assez de points d'usage pour ce pouvoir.")
|
||||
return
|
||||
}
|
||||
|
||||
//rollData.actionImg = "systems/fvtt-les-heritiers/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||
rollData.carac = duplicate(actor.system.caracteristiques[rollData.caracKey])
|
||||
|
||||
|
@ -485,7 +494,7 @@ export class HeritiersUtility {
|
|||
rangValue = rollData.rang.value
|
||||
}
|
||||
if (rollData.competence) {
|
||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||
let compmod = 0 // Bonus de compétence à 0 dans Les Heritiers
|
||||
let specBonus = (rollData.useSpecialite) ? 1 : 0
|
||||
rollData.diceFormula += `+${rollData.carac.value}+${rangValue}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
|
||||
} else if (rollData.pouvoirBase) {
|
||||
|
@ -526,18 +535,24 @@ export class HeritiersUtility {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = duplicate(myRoll)
|
||||
console.log(">>>> ", myRoll)
|
||||
this.computeResult(actor, rollData)
|
||||
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
|
||||
if ( !rollData.noRoll) {
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = duplicate(myRoll)
|
||||
console.log(">>>> ", myRoll)
|
||||
this.computeResult(actor, rollData)
|
||||
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
|
||||
}
|
||||
|
||||
if (rollData.mode == "init") {
|
||||
actor.setFlag("world", "last-initiative", rollData.finalResult)
|
||||
}
|
||||
|
||||
// Gestion pouvoir et points d'usage
|
||||
if (rollData.mode == "pouvoir" || rollData.mode == "pouvoirpassif") {
|
||||
actor.incDecPointsUsage(rollData.pouvoir._id, -rollData.pouvoirPointsUsage)
|
||||
}
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
|
||||
}, rollData)
|
||||
|
@ -589,7 +604,7 @@ export class HeritiersUtility {
|
|||
|
||||
/* -------------------------------------------- */
|
||||
static isArmeMelee(arme) {
|
||||
return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise")) ? true : false
|
||||
return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise"))
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static getWhisperRecipients(rollMode, name) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.654905 7f3323fff6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.787106 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.792294 7f33223ff6c0 Level-0 table #5: 75294 bytes OK
|
||||
2023/12/19-21:34:54.798740 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.828243 7f33223ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.407753 7fcc5fe006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.418285 7fcc5fe006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.418386 7fcc5fe006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.758987 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.759009 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.766071 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.772507 7fcc5e4006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.780581 7fcc5e4006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.195494 7fcc64a006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.205751 7fcc64a006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.205814 7fcc64a006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.405442 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.405465 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.413456 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.434002 7fcc5e4006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.434046 7fcc5e4006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.795275 7f3323fff6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.816711 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.820965 7f33223ff6c0 Level-0 table #5: 16828 bytes OK
|
||||
2023/12/19-21:34:54.828050 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.835440 7f33223ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.434490 7fcc5fe006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.445376 7fcc5fe006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.445476 7fcc5fe006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.780592 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.780614 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.786815 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.793537 7fcc5e4006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.800296 7fcc5e4006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.225781 7fcc64a006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.235570 7fcc64a006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.235631 7fcc64a006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.419889 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.419918 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.426864 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.434022 7fcc5e4006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.434058 7fcc5e4006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.601487 7f3322ffd6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.774727 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.779620 7f33223ff6c0 Level-0 table #5: 59886 bytes OK
|
||||
2023/12/19-21:34:54.786884 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.816678 7f33223ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.394982 7fcc64a006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.405041 7fcc64a006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.405101 7fcc64a006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.752178 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.752221 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.758834 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.766218 7fcc5e4006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.772523 7fcc5e4006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.181640 7fcc5fe006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.191751 7fcc5fe006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.191823 7fcc5fe006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.391895 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.391918 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.398417 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.405331 7fcc5e4006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.405364 7fcc5e4006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.469210 7f3323fff6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.739813 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.744244 7f33223ff6c0 Level-0 table #5: 26203 bytes OK
|
||||
2023/12/19-21:34:54.751692 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.774674 7f33223ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.357785 7fcc5fe006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.368372 7fcc5fe006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.368475 7fcc5fe006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.730451 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.730536 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.737283 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.745838 7fcc5e4006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.752158 7fcc5e4006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.139541 7fcc64a006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.150459 7fcc64a006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.150560 7fcc64a006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.378965 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.378988 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.385088 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.405303 7fcc5e4006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.405350 7fcc5e4006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.559042 7f3323fff6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.762976 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.766856 7f33223ff6c0 Level-0 table #5: 23734 bytes OK
|
||||
2023/12/19-21:34:54.774441 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.787085 7f33223ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.382877 7fcc5fe006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.392582 7fcc5fe006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.392719 7fcc5fe006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.745861 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.745883 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.751942 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.758963 7fcc5e4006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.766233 7fcc5e4006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.167153 7fcc64a006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.178593 7fcc64a006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.178677 7fcc64a006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.398635 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.398683 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.405176 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.405342 7fcc5e4006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.405373 7fcc5e4006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.424090 7f3322ffd6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.711352 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.715753 7f33223ff6c0 Level-0 table #5: 26885 bytes OK
|
||||
2023/12/19-21:34:54.722148 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.729274 7f33223ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.345134 7fcc64a006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.355600 7fcc64a006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.355657 7fcc64a006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.723482 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.723520 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.730146 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.737428 7fcc5e4006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.745851 7fcc5e4006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.125583 7fcc5fe006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.136089 7fcc5fe006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.136151 7fcc5fe006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.371083 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.371109 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.378702 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.378854 7fcc5e4006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.378876 7fcc5e4006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.513826 7f3322ffd6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.752015 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.756291 7f33223ff6c0 Level-0 table #5: 31112 bytes OK
|
||||
2023/12/19-21:34:54.762759 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.774705 7f33223ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.370215 7fcc64a006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.380871 7fcc64a006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.380943 7fcc64a006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.737478 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.737537 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.745719 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.752140 7fcc5e4006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.758974 7fcc5e4006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.154218 7fcc5fe006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.164265 7fcc5fe006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.164327 7fcc5fe006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.385211 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.385236 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.391768 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.405315 7fcc5e4006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.405356 7fcc5e4006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2023/12/19-21:28:12.700301 7f3322ffd6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.798956 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.809620 7f33223ff6c0 Level-0 table #5: 273133 bytes OK
|
||||
2023/12/19-21:34:54.816368 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.828262 7f33223ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.421201 7fcc64a006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.431610 7fcc64a006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.431661 7fcc64a006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.766244 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.766271 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.772332 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.786941 7fcc5e4006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.793548 7fcc5e4006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.210067 7fcc5fe006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.221093 7fcc5fe006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.221151 7fcc5fe006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.413577 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.413605 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.419750 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.434013 7fcc5e4006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.434051 7fcc5e4006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
MANIFEST-000002
|
||||
MANIFEST-000098
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
2023/12/19-21:28:12.843064 7f3322ffd6c0 Delete type=3 #1
|
||||
2023/12/19-21:34:54.828277 7f33223ff6c0 Level-0 table #5: started
|
||||
2023/12/19-21:34:54.828314 7f33223ff6c0 Level-0 table #5: 0 bytes OK
|
||||
2023/12/19-21:34:54.835165 7f33223ff6c0 Delete type=0 #3
|
||||
2023/12/19-21:34:54.842202 7f33223ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:14.447506 7fcc64a006c0 Recovering log #96
|
||||
2024/04/24-21:03:14.458045 7fcc64a006c0 Delete type=3 #94
|
||||
2024/04/24-21:03:14.458168 7fcc64a006c0 Delete type=0 #96
|
||||
2024/04/24-21:12:06.772537 7fcc5e4006c0 Level-0 table #101: started
|
||||
2024/04/24-21:12:06.772571 7fcc5e4006c0 Level-0 table #101: 0 bytes OK
|
||||
2024/04/24-21:12:06.780429 7fcc5e4006c0 Delete type=0 #99
|
||||
2024/04/24-21:12:06.786953 7fcc5e4006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
2024/04/24-21:00:50.238991 7fcc5fe006c0 Recovering log #92
|
||||
2024/04/24-21:00:50.249789 7fcc5fe006c0 Delete type=3 #90
|
||||
2024/04/24-21:00:50.249856 7fcc5fe006c0 Delete type=0 #92
|
||||
2024/04/24-21:03:07.427061 7fcc5e4006c0 Level-0 table #97: started
|
||||
2024/04/24-21:03:07.427101 7fcc5e4006c0 Level-0 table #97: 0 bytes OK
|
||||
2024/04/24-21:03:07.433866 7fcc5e4006c0 Delete type=0 #95
|
||||
2024/04/24-21:03:07.434036 7fcc5e4006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
MANIFEST-000066
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:03:14.460264 7fcc5fe006c0 Recovering log #64
|
||||
2024/04/24-21:03:14.471026 7fcc5fe006c0 Delete type=3 #62
|
||||
2024/04/24-21:03:14.471085 7fcc5fe006c0 Delete type=0 #64
|
||||
2024/04/24-21:12:06.786961 7fcc5e4006c0 Level-0 table #69: started
|
||||
2024/04/24-21:12:06.786984 7fcc5e4006c0 Level-0 table #69: 0 bytes OK
|
||||
2024/04/24-21:12:06.793408 7fcc5e4006c0 Delete type=0 #67
|
||||
2024/04/24-21:12:06.800278 7fcc5e4006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:12:06.800312 7fcc5e4006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
|
@ -0,0 +1,8 @@
|
|||
2024/04/24-21:00:50.251923 7fcc64a006c0 Recovering log #60
|
||||
2024/04/24-21:00:50.262770 7fcc64a006c0 Delete type=3 #58
|
||||
2024/04/24-21:00:50.262826 7fcc64a006c0 Delete type=0 #60
|
||||
2024/04/24-21:03:07.434179 7fcc5e4006c0 Level-0 table #65: started
|
||||
2024/04/24-21:03:07.434204 7fcc5e4006c0 Level-0 table #65: 0 bytes OK
|
||||
2024/04/24-21:03:07.440869 7fcc5e4006c0 Delete type=0 #63
|
||||
2024/04/24-21:03:07.448328 7fcc5e4006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2024/04/24-21:03:07.448358 7fcc5e4006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
Binary file not shown.
|
@ -573,6 +573,7 @@ ul, li {
|
|||
|
||||
.specialisation-label {
|
||||
font-size: 0.8rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.carac-label,
|
||||
|
@ -1023,8 +1024,6 @@ ul, li {
|
|||
}
|
||||
|
||||
#sidebar #sidebar-tabs i{
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: inline-block;
|
||||
background-position:center;
|
||||
background-size:cover;
|
||||
|
@ -1032,23 +1031,6 @@ ul, li {
|
|||
|
||||
}
|
||||
|
||||
/*#sidebar #sidebar-tabs i.fa-comments:before, #sidebar #sidebar-tabs i.fa-fist-raised:before, #sidebar #sidebar-tabs i.fa-users:before, #sidebar #sidebar-tabs i.fa-map:before, #sidebar #sidebar-tabs i.fa-suitcase:before, #sidebar #sidebar-tabs i.fa-book-open:before, #sidebar #sidebar-tabs i.fa-th-list:before, #sidebar #sidebar-tabs i.fa-music:before, #sidebar #sidebar-tabs i.fa-atlas:before, #sidebar #sidebar-tabs i.fa-cogs:before {content: "";}
|
||||
#sidebar #sidebar-tabs i.fa-comments {background: url("img/ui/icon_sidebar_chat.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-fist-raised {background: url("img/ui/icon_sidebar_fight.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-users {background: url("img/ui/icon_sidebar_actor.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-map {background: url("img/ui/icon_sidebar_scene.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-suitcase {background: url("img/ui/icon_sidebar_item.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-book-open {background: url("img/ui/icon_sidebar_journal.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-th-list {background: url("img/ui/icon_sidebar_rolltable.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-music {background: url("img/ui/icon_sidebar_music.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-atlas {background: url("img/ui/icon_sidebar_compendium.svg") no-repeat;}
|
||||
#sidebar #sidebar-tabs i.fa-cogs {background: url("img/ui/icon_sidebar_settings.svg") no-repeat;}
|
||||
|
||||
#combat #combat-controls {
|
||||
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
|
||||
}
|
||||
*/
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* Control, Tool, hotbar & navigation */
|
||||
|
||||
|
|
137
system.json
137
system.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "fvtt-les-heritiers",
|
||||
"description": "Les Héritiers pour FoundryVTT",
|
||||
"version": "11.0.4",
|
||||
"version": "11.0.14",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Uberwald/LeRatierBretonnien",
|
||||
|
@ -19,7 +19,7 @@
|
|||
"gridUnits": "m",
|
||||
"license": "LICENSE.txt",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-11.0.4.zip",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-11.0.14.zip",
|
||||
"languages": [
|
||||
{
|
||||
"lang": "fr",
|
||||
|
@ -28,87 +28,163 @@
|
|||
"flags": {}
|
||||
}
|
||||
],
|
||||
"packFolders": [
|
||||
{
|
||||
"name": "Les Héritiers",
|
||||
"sorting": "m",
|
||||
"color": "#00435c",
|
||||
"folders": [
|
||||
{
|
||||
"name": "Création de Personnage",
|
||||
"sorting": "a",
|
||||
"color": "#00435c",
|
||||
"packs": [
|
||||
"competences",
|
||||
"atouts-feeriques",
|
||||
"avantages",
|
||||
"capacites",
|
||||
"competences",
|
||||
"desavantages",
|
||||
"pouvoirs",
|
||||
"profils",
|
||||
"archetypes-fees"
|
||||
],
|
||||
"folders": []
|
||||
},
|
||||
{
|
||||
"name": "Equipement",
|
||||
"sorting": "a",
|
||||
"color": "#00435c",
|
||||
"packs": [
|
||||
"armes-et-protection"
|
||||
],
|
||||
"folders": []
|
||||
}
|
||||
],
|
||||
"packs":
|
||||
["scenes"]
|
||||
}
|
||||
],
|
||||
"packs": [
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Compétences",
|
||||
"name": "competences",
|
||||
"path": "packs/competences.db",
|
||||
"path": "packs/competences",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Avantages",
|
||||
"name": "avantages",
|
||||
"path": "packs/avantages.db",
|
||||
"path": "packs/avantages",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Désavantages",
|
||||
"name": "desavantages",
|
||||
"path": "packs/desavantages.db",
|
||||
"path": "packs/desavantages",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Capacités Naturelles",
|
||||
"name": "capacites",
|
||||
"path": "packs/capacites.db",
|
||||
"path": "packs/capacites",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Atouts Féériques",
|
||||
"name": "atouts-feeriques",
|
||||
"path": "packs/atouts-feeriques.db",
|
||||
"path": "packs/atouts-feeriques",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Fées",
|
||||
"name": "archetypes-fees",
|
||||
"path": "packs/archetypes-fees.db",
|
||||
"path": "packs/archetypes-fees",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Pouvoirs",
|
||||
"name": "pouvoirs",
|
||||
"path": "packs/pouvoirs.db",
|
||||
"path": "packs/pouvoirs",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Armes et Protections",
|
||||
"name": "armes-et-protection",
|
||||
"path": "packs/armes-et-protection.db",
|
||||
"path": "packs/armes-et-protection",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Profils",
|
||||
"name": "profils",
|
||||
"path": "packs/profils.db",
|
||||
"path": "packs/profils",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Scene",
|
||||
"label": "Scènes",
|
||||
"name": "scenes",
|
||||
"path": "packs/scenes",
|
||||
"system": "fvtt-les-heritiers",
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
}
|
||||
],
|
||||
"primaryTokenAttribute": "sante.vigueur",
|
||||
|
@ -122,7 +198,6 @@
|
|||
"background": "systems/fvtt-les-heritiers/assets/ui/wallpaper_foundry2.webp",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "11",
|
||||
"maximum": "11"
|
||||
"verified": "11"
|
||||
}
|
||||
}
|
|
@ -142,7 +142,8 @@
|
|||
},
|
||||
"pv": {
|
||||
"value": 0,
|
||||
"max": 0
|
||||
"max": 0,
|
||||
"mod": 0
|
||||
},
|
||||
"competences": {
|
||||
"aventurier": {
|
||||
|
@ -254,19 +255,19 @@
|
|||
}
|
||||
},
|
||||
"types": [
|
||||
"fee",
|
||||
"avantage",
|
||||
"desavantage",
|
||||
"capacitenaturelle",
|
||||
"pouvoir",
|
||||
"atoutfeerique",
|
||||
"competence",
|
||||
"arme",
|
||||
"protection",
|
||||
"equipement",
|
||||
"accessoire",
|
||||
"arme",
|
||||
"atoutfeerique",
|
||||
"avantage",
|
||||
"capacitenaturelle",
|
||||
"competence",
|
||||
"contact",
|
||||
"profil"
|
||||
"desavantage",
|
||||
"equipement",
|
||||
"fee",
|
||||
"pouvoir",
|
||||
"profil",
|
||||
"protection"
|
||||
],
|
||||
"profil": {
|
||||
"profiltype": "majeur",
|
||||
|
@ -322,6 +323,7 @@
|
|||
"portee": "",
|
||||
"resistance": "",
|
||||
"resistanceautre":"",
|
||||
"pointsusagecourant": -1,
|
||||
"isvirulence": false,
|
||||
"virulence":"",
|
||||
"description": ""
|
||||
|
|
|
@ -242,7 +242,7 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
<a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -287,10 +287,12 @@
|
|||
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" />
|
||||
<span class="item-field-label-long"></span>
|
||||
<span class="item-field-label-medium"></span>
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" />
|
||||
<span class="item-field-label-medium"></span>
|
||||
<label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup. P. d'Usage</a></label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -305,6 +307,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each avantages as |avantage key|}}
|
||||
|
@ -329,6 +333,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="desavantage" title="Ajouter un Désavantage"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each desavantages as |desavantage key|}}
|
||||
|
@ -353,6 +359,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un Atout féerique"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each atouts as |atout key|}}
|
||||
|
@ -384,21 +392,23 @@
|
|||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Niveau</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Usage</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each pouvoirs as |pouvoir key|}}
|
||||
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
|
||||
<img class="item-name-img" src="{{pouvoir.img}}" />
|
||||
{{#if pouvoir.system.istest}}
|
||||
<span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-long2">{{pouvoir.name}}</span>
|
||||
{{/if}}
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
|
||||
<span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
|
@ -410,7 +420,6 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
|
@ -419,6 +428,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une Capacité naturelle"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each capacites as |capa key|}}
|
||||
|
|
|
@ -45,7 +45,8 @@
|
|||
<div class="flexrow">
|
||||
<label class="item-field-label-short">PV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" disabled data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.pv.mod" value="{{system.pv.mod}}" data-dtype="Number" />
|
||||
<label class="item-field-label-short">Malus</label>
|
||||
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
|
||||
<span> </span>
|
||||
|
@ -113,6 +114,10 @@
|
|||
<label class="short-label">Niveau</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="competence" title="Ajouter une compétence futile"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each futileSkills as |skill key|}}
|
||||
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
||||
|
@ -122,7 +127,7 @@
|
|||
<select class="item-field-label-short edit-item-data" type="text"
|
||||
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
|
||||
{{#select skill.system.niveau}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
|
||||
{{/select}}
|
||||
</select>
|
||||
|
||||
|
@ -247,7 +252,7 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
<a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -292,10 +297,12 @@
|
|||
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" />
|
||||
<span class="item-field-label-long"></span>
|
||||
<span class="item-field-label-medium"></span>
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" />
|
||||
<span class="item-field-label-medium"></span>
|
||||
<label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup. P. d'Usage</a></label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -310,6 +317,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each avantages as |avantage key|}}
|
||||
|
@ -334,6 +343,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="desavantage" title="Ajouter un désavantage"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each desavantages as |desavantage key|}}
|
||||
|
@ -358,6 +369,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un atout féerique"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each atouts as |atout key|}}
|
||||
|
@ -389,21 +402,23 @@
|
|||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Niveau</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Usage</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each pouvoirs as |pouvoir key|}}
|
||||
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
|
||||
<img class="item-name-img" src="{{pouvoir.img}}" />
|
||||
{{#if pouvoir.system.istest}}
|
||||
<span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-long2">{{pouvoir.name}}</span>
|
||||
{{/if}}
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
|
||||
<span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
|
@ -424,6 +439,8 @@
|
|||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une capacité naturelle"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each capacites as |capa key|}}
|
||||
|
@ -618,7 +635,7 @@
|
|||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Points d'héritage</label>
|
||||
<input type="text" class="" value="{{system.heritage.value}}" value="{{system.heritage.value}}" data-dtype="String" />
|
||||
<input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}" data-dtype="String" />
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
|
@ -41,47 +41,51 @@
|
|||
{{#if pouvoir}}
|
||||
<li>Pouvoir : {{pouvoir.name}}</li>
|
||||
<li>Effet : {{pouvoir.system.effet}}</li>
|
||||
<li>Points d'usage consommés : {{pouvoirPointsUsage}}</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if forcedValue}}
|
||||
<li>Vous dépense 2 points de Tricherie et utilisé une face adjacente du dé !</li>
|
||||
{{/if}}
|
||||
|
||||
<li>Formule : {{diceFormula}}</li>
|
||||
<li>Résultat du dé : {{diceResult}} </li>
|
||||
|
||||
{{#if adjacentFaces}}
|
||||
<li>Faces Adjacentes :
|
||||
{{#each adjacentFaces as |value key|}}
|
||||
<a class="roll-tricherie-2" data-dice-value="{{value}}">{{value}}</a>
|
||||
{{/each}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</li>
|
||||
|
||||
|
||||
{{#if (gt sdValue "-1")}}
|
||||
{{#if isSuccess}}
|
||||
<li class="chat-success">Succès...
|
||||
</li>
|
||||
{{#if noRoll}}
|
||||
{{else}}
|
||||
<li class="chat-failure">Echec...</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<li>Formule : {{diceFormula}}</li>
|
||||
<li>Résultat du dé : {{diceResult}} </li>
|
||||
|
||||
{{#if isBrelan}}
|
||||
<li class="chat-success">Brelan sur 3 dés !</li>
|
||||
{{/if}}
|
||||
{{#if isSuite}}
|
||||
<li class="chat-success">Suite sur 3 dés !</li>
|
||||
{{/if}}
|
||||
{{#if adjacentFaces}}
|
||||
<li>Faces Adjacentes :
|
||||
{{#each adjacentFaces as |value key|}}
|
||||
<a class="roll-tricherie-2" data-dice-value="{{value}}">{{value}}</a>
|
||||
{{/each}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if isCriticalSuccess}}
|
||||
<li class="chat-success">Réussite Critique !!!</li>
|
||||
{{/if}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li class="chat-failure">Echec Critique !!!</li>
|
||||
<li>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</li>
|
||||
|
||||
|
||||
{{#if (gt sdValue "-1")}}
|
||||
{{#if isSuccess}}
|
||||
<li class="chat-success">Succès...
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="chat-failure">Echec...</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isBrelan}}
|
||||
<li class="chat-success">Brelan sur 3 dés !</li>
|
||||
{{/if}}
|
||||
{{#if isSuite}}
|
||||
<li class="chat-success">Suite sur 3 dés !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if isCriticalSuccess}}
|
||||
<li class="chat-success">Réussite Critique !!!</li>
|
||||
{{/if}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li class="chat-failure">Echec Critique !!!</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
name="system.profil" value="{{system.profil}}" data-dtype="string">
|
||||
{{#select system.profil}}
|
||||
{{#each config.competenceProfil as |profil pKey|}}
|
||||
<option value="{{pKey}}">{{profil}}</option>
|
||||
<option value="{{pKey}}">{{profil.name}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
|
|
|
@ -94,6 +94,21 @@
|
|||
|
||||
{{/if}}
|
||||
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label item-field-label-long2">Points d'usage max/jour </label>
|
||||
{{#if (eq usageMax -1)}}
|
||||
<label class="generic-label item-field-label-short">Inconnu</label>
|
||||
{{else}}
|
||||
<label class="generic-label item-field-label-short">{{usageMax}}</label>
|
||||
{{/if}}
|
||||
</li>
|
||||
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label item-field-label-long2">Points d'usage restants </label>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.pointsusagecourant" value="{{system.pointsusagecourant}}" data-dtype="Number" />
|
||||
</li>
|
||||
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label item-field-label-long2">Cibles </label>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-long3"
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
</div>
|
||||
</li>
|
||||
{{#if (count skill.specList)}}
|
||||
<span class="specialisarion-margin item-field-label-long2">{{skill.specList}}</span>
|
||||
<span class="specialisarion-margin specialisation-label item-field-label-long2">{{skill.specList}}</span>
|
||||
{{/if}}
|
||||
|
||||
{{/each}}
|
||||
|
|
|
@ -64,7 +64,18 @@
|
|||
<span class="small-label roll-dialog-label">{{pouvoirBase.value}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Points d'usage consommés : </span>
|
||||
<select class="status-small-label color-class-common" id="pouvoirPointsUsage" type="Number" name="pouvoirPointsUsage" value="pouvoirPointsUsage" data-dtype="Number" >
|
||||
{{#select pouvoirPointsUsage}}
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#each rulesMalus as |malus key|}}
|
||||
<div class="flexrow">
|
||||
|
|
Loading…
Reference in New Issue