Gestion intensite
This commit is contained in:
parent
634feabb75
commit
025d7a2740
144
modules/imperium5-actor-pm-sheet.js
Normal file
144
modules/imperium5-actor-pm-sheet.js
Normal file
@ -0,0 +1,144 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { Imperium5Utility } from "./imperium5-utility.js";
|
||||
import { Imperium5RollDialog } from "./imperium5-roll-dialog.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class Imperium5ActorPMSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-imperium5", "sheet", "actor"],
|
||||
template: "systems/fvtt-imperium5/templates/actor-pm-sheet.html",
|
||||
width: 720,
|
||||
height: 760,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "combat" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
let actorData = duplicate(this.object.system)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: actorData,
|
||||
archetype: this.actor.getArchetype(),
|
||||
specialites: this.actor.getSpecialites(),
|
||||
familiarites: this.actor.getFamiliarites(),
|
||||
nature: this.actor.getNatureProfonde(),
|
||||
traits: this.actor.getTraits(),
|
||||
symbioses: this.actor.getSymbioses(),
|
||||
equipements: this.actor.getEquipements(),
|
||||
capacites: this.actor.getCapacites(),
|
||||
singularites: this.actor.getSingularites(),
|
||||
contacts: this.actor.getContacts(),
|
||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||
limited: this.object.limited,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PM : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
|
||||
// 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");
|
||||
Imperium5Utility.confirmDelete(this, li);
|
||||
});
|
||||
|
||||
|
||||
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);
|
||||
});
|
||||
html.find('.item-link a').click((event) => {
|
||||
const itemId = $(event.currentTarget).data("item-id")
|
||||
const item = this.actor.getOwnedItem(itemId);
|
||||
item.sheet.render(true);
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update( { [`${fieldName}`]: value } );
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @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;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDropItemUNUSED(event, dragData) {
|
||||
let item = await Imperium5Utility.searchItem( dragData)
|
||||
if (item == undefined) {
|
||||
item = this.actor.items.get( dragData.data._id )
|
||||
}
|
||||
//this.actor.preprocessItem( event, item, true )
|
||||
super._onDropItem(event, dragData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
@ -59,32 +59,6 @@ export class Imperium5ActorSheet extends ActorSheet {
|
||||
return formData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async openGenericRoll() {
|
||||
let rollData = Imperium5Utility.getBasicRollData()
|
||||
rollData.alias = "Dice Pool Roll",
|
||||
rollData.mode = "generic"
|
||||
rollData.title = `Dice Pool Roll`
|
||||
rollData.img = "icons/dice/d12black.svg"
|
||||
|
||||
let rollDialog = await Imperium5RollDialog.create( this.actor, rollData);
|
||||
rollDialog.render( true );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollIDR( itemId, diceValue) {
|
||||
let item = this.actor.items.get( itemId) ?? {name: "Unknown"}
|
||||
let myRoll = new Roll(diceValue+"x").roll({ async: false })
|
||||
await Imperium5Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
let chatData = {
|
||||
user: game.user.id,
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
whisper: [game.user.id].concat(ChatMessage.getWhisperRecipients('GM')),
|
||||
content: `${this.actor.name} has roll IDR for ${item.name} : ${myRoll.total}`
|
||||
}
|
||||
ChatMessage.create(chatData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
@ -183,7 +157,6 @@ export class Imperium5ActorSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDropItemUNUSED(event, dragData) {
|
||||
console.log(">>>>>> DROPPED!!!!")
|
||||
let item = await Imperium5Utility.searchItem( dragData)
|
||||
if (item == undefined) {
|
||||
item = this.actor.items.get( dragData.data._id )
|
||||
|
@ -111,6 +111,10 @@ export class Imperium5Actor extends Actor {
|
||||
let item = duplicate(this.items.filter( it => it.type == "contact") || [] )
|
||||
return item
|
||||
}
|
||||
getResources() {
|
||||
let item = duplicate(this.items.filter( it => it.type == "equipement" || it.type == "singularite" || it.type == "capacite" || it.type == "contact") || [] )
|
||||
return item
|
||||
}
|
||||
getUnusedParadigmes() {
|
||||
let paraList = []
|
||||
for(let k in this.system.paradigmes) {
|
||||
@ -276,6 +280,8 @@ export class Imperium5Actor extends Actor {
|
||||
rollData.img = this.img
|
||||
rollData.capacites = this.getUnusedCapacites()
|
||||
rollData.paradigmes = this.getUnusedParadigmes()
|
||||
rollData.ressources = this.getResources()
|
||||
rollData.selectedRessources = []
|
||||
rollData.selectedParadigme = "none"
|
||||
rollData.karma = this.system.karma.value
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
import { Imperium5Actor } from "./imperium5-actor.js";
|
||||
import { Imperium5ItemSheet } from "./imperium5-item-sheet.js";
|
||||
import { Imperium5ActorSheet } from "./imperium5-actor-sheet.js";
|
||||
import { Imperium5ActorPMSheet } from "./imperium5-actor-pm-sheet.js";
|
||||
import { Imperium5Utility } from "./imperium5-utility.js";
|
||||
import { Imperium5Combat } from "./imperium5-combat.js";
|
||||
import { Imperium5Item } from "./imperium5-item.js";
|
||||
@ -50,6 +51,7 @@ Hooks.once("init", async function () {
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet)
|
||||
Actors.registerSheet("fvtt-imperium5", Imperium5ActorSheet, { types: ["character"], makeDefault: true })
|
||||
Actors.registerSheet("fvtt-imperium5", Imperium5ActorPMSheet, { types: ["pm"], makeDefault: true })
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet)
|
||||
Items.registerSheet("fvtt-imperium5", Imperium5ItemSheet, { makeDefault: true } )
|
||||
|
@ -68,8 +68,8 @@ export class Imperium5RollDialog extends Dialog {
|
||||
this.rollData.useArchetype = event.currentTarget.checked
|
||||
this.updatePCPool()
|
||||
})
|
||||
html.find('#select-use-aide').change(async (event) => {
|
||||
this.rollData.useAide = event.currentTarget.checked
|
||||
html.find('#select-aide-pj').change(async (event) => {
|
||||
this.rollData.nbAide = Number(event.currentTarget.value)
|
||||
this.updatePCPool()
|
||||
})
|
||||
html.find('#select-use-karma').change(async (event) => {
|
||||
|
@ -13,6 +13,7 @@ export class Imperium5Utility {
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
Hooks.on('renderChatLog', (log, html, data) => Imperium5Utility.chatListeners(html));
|
||||
Hooks.on("getChatLogEntryContext", (html, options) => Imperium5Utility.chatRollMenu(html, options))
|
||||
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||
Imperium5Utility.pushInitiativeOptions(html, options);
|
||||
@ -54,9 +55,9 @@ export class Imperium5Utility {
|
||||
accum += block.fn(i);
|
||||
return accum;
|
||||
})
|
||||
Handlebars.registerHelper('times', function(n, block) {
|
||||
Handlebars.registerHelper('times', function (n, block) {
|
||||
var accum = '';
|
||||
for(var i = 1; i <= n; ++i)
|
||||
for (var i = 1; i <= n; ++i)
|
||||
accum += block.fn(i);
|
||||
return accum;
|
||||
})
|
||||
@ -72,9 +73,9 @@ export class Imperium5Utility {
|
||||
default: false,
|
||||
type: Boolean
|
||||
})
|
||||
game.settings.register("fvtt-imperium5", "use-singularite", {
|
||||
name: "Utilisation complémentaire des Singularités",
|
||||
hint: "Si coché, les Singularités peuvent permettre de réduire de 1 la valeur d'un dé",
|
||||
game.settings.register("fvtt-imperium5", "use-specialite", {
|
||||
name: "Utilisation complémentaire des Spécialités",
|
||||
hint: "Si coché, les Spécialités peuvent permettre de réduire de 1 la valeur d'un dé",
|
||||
scope: "world",
|
||||
config: true,
|
||||
default: false,
|
||||
@ -129,11 +130,11 @@ export class Imperium5Utility {
|
||||
this.applyParadigme(rollData, paraKey)
|
||||
})
|
||||
|
||||
html.on("click", '.apply-singularite', event => {
|
||||
html.on("click", '.apply-specialite', event => {
|
||||
let resultIndex = $(event.currentTarget).data("result-index")
|
||||
let rollData = this.getRollDataFromMessage(event)
|
||||
rollData.previousMessageId = Imperium5Utility.findChatMessageId(event.currentTarget)
|
||||
this.applySingularite(rollData, resultIndex)
|
||||
this.applySpecialite(rollData, resultIndex)
|
||||
})
|
||||
|
||||
html.on("change", '.transfer-success', event => {
|
||||
@ -143,6 +144,23 @@ export class Imperium5Utility {
|
||||
this.applySuccessTransfer(rollData, nbSuccess)
|
||||
})
|
||||
|
||||
html.on("change", '.select-ressource', async event => {
|
||||
// Filter / remove the ressource
|
||||
let rollData = this.getRollDataFromMessage(event)
|
||||
let ressource = rollData.ressources.find(r => r._id == event.currentTarget.value)
|
||||
rollData.selectedRessources.push(ressource)
|
||||
rollData.ressources = rollData.ressources.filter(r => r._id != event.currentTarget.value)
|
||||
rollData.realSuccessPC--;
|
||||
this.computeIntensite(rollData)
|
||||
// Update the roll data in the message
|
||||
rollData.previousMessageId = Imperium5Utility.findChatMessageId(event.currentTarget)
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-imperium5/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "imperium5-roll-data", rollData)
|
||||
this.removeChatMessageId(rollData.previousMessageId)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -237,24 +255,22 @@ export class Imperium5Utility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updateRollData(rollData) {
|
||||
|
||||
let id = rollData.rollId;
|
||||
let oldRollData = this.rollDataStore[id] || {};
|
||||
let newRollData = mergeObject(oldRollData, rollData);
|
||||
this.rollDataStore[id] = newRollData;
|
||||
static chatRollMenu(html, options) {
|
||||
let canApply = li => canvas.tokens.controlled.length && li.find(".imperium5-roll").length
|
||||
let canApplyIntensite = function (li) {
|
||||
let message = game.messages.get(li.attr("data-message-id"))
|
||||
let rollData = message.getFlag("world", "imperium5-roll-data")
|
||||
return (rollData.currentIntensite > 0)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static saveRollData(rollData) {
|
||||
game.socket.emit("system.fvtt-imperium5", {
|
||||
name: "msg_update_roll", data: rollData
|
||||
}); // Notify all other clients of the roll
|
||||
this.updateRollData(rollData);
|
||||
options.push(
|
||||
{
|
||||
name: "Ajouer +3 (1 point de Bonne Aventure)",
|
||||
icon: "<i class='fas fa-user-plus'></i>",
|
||||
condition: canApply && canApplyIntensite,
|
||||
callback: li => Imperium5Utility.applyBonneAventureRoll(li, -1, "+3")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getRollData(id) {
|
||||
return this.rollDataStore[id];
|
||||
)
|
||||
return options
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -330,7 +346,7 @@ export class Imperium5Utility {
|
||||
let capa = rollData.capacites.find(c => c._id == rollData.usedCapacite)
|
||||
capaDice = capa.system.aide
|
||||
}
|
||||
let val = rollData.ame.value + capaDice + ((rollData.useKarma) ? 1 : 0) + ((rollData.useArchetype) ? 1 : 0) + ((rollData.useAide) ? 1 : 0) + rollData.ameMalus
|
||||
let val = rollData.ame.value + capaDice + ((rollData.useKarma) ? 1 : 0) + ((rollData.useArchetype) ? 1 : 0) + rollData.nbAide + rollData.ameMalus
|
||||
return Math.max(val, 0)
|
||||
}
|
||||
|
||||
@ -350,8 +366,21 @@ export class Imperium5Utility {
|
||||
if (rollData.useEntropieReussite && myRoll.terms[2].results[0].result == 7) {
|
||||
rollData.successGM++
|
||||
}
|
||||
// Calcul unité de narration
|
||||
rollData.nbUnitesNarration = Math.max(rollData.successPC - 1, 0)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeIntensite(rollData) {
|
||||
rollData.totalIntensite = 0
|
||||
let pi = 3
|
||||
let nbSuccess = rollData.realSuccessPC
|
||||
while (nbSuccess) {
|
||||
rollData.totalIntensite += pi
|
||||
pi = 2 // 3 for the first, 2 after
|
||||
nbSuccess--
|
||||
}
|
||||
for(let r of rollData.selectedRessources) {
|
||||
rollData.totalIntensite += r.system.ressource
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -386,6 +415,7 @@ export class Imperium5Utility {
|
||||
// Calcul réussites
|
||||
this.computeReussites(rollData)
|
||||
rollData.realSuccessPC = rollData.successPC // To manage source transfer
|
||||
this.computeIntensite(rollData)
|
||||
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-imperium5/templates/chat-generic-result.html`, rollData)
|
||||
@ -412,12 +442,12 @@ export class Imperium5Utility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async applySingularite(rollData, resultIndex) {
|
||||
static async applySpecialite(rollData, resultIndex) {
|
||||
let res = rollData.resultsPC[resultIndex]
|
||||
res.result = (res.result > 1) ? res.result-1 : res.result
|
||||
res.result = (res.result > 1) ? res.result - 1 : res.result
|
||||
this.computeReussites(rollData)
|
||||
rollData.useSingularites = false
|
||||
rollData.singulariteApplied = true
|
||||
rollData.useSpecialite = false
|
||||
rollData.specialiteApplied = true
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-imperium5/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
@ -428,10 +458,9 @@ export class Imperium5Utility {
|
||||
/* ------------------------- ------------------- */
|
||||
static async applySuccessTransfer(rollData, nbSuccess) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
actor.transferToSource( nbSuccess)
|
||||
actor.transferToSource(nbSuccess)
|
||||
rollData.realSuccessPC -= nbSuccess
|
||||
rollData.sourceTransfer = nbSuccess
|
||||
rollData.nbUnitesNarration = Math.max(rollData.realSuccessPC - 1, 0)
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-imperium5/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
@ -439,36 +468,6 @@ export class Imperium5Utility {
|
||||
this.removeChatMessageId(rollData.previousMessageId)
|
||||
}
|
||||
|
||||
/* ------------------------- ------------------- */
|
||||
static async updateRoll(rollData) {
|
||||
|
||||
let diceResults = rollData.diceResults
|
||||
let sortedRoll = []
|
||||
for (let i = 0; i < 10; i++) {
|
||||
sortedRoll[i] = 0;
|
||||
}
|
||||
for (let dice of diceResults) {
|
||||
sortedRoll[dice.result]++
|
||||
}
|
||||
let index = 0;
|
||||
let bestRoll = 0;
|
||||
for (let i = 0; i < 10; i++) {
|
||||
if (sortedRoll[i] > bestRoll) {
|
||||
bestRoll = sortedRoll[i]
|
||||
index = i
|
||||
}
|
||||
}
|
||||
let bestScore = (bestRoll * 10) + index
|
||||
rollData.bestScore = bestScore
|
||||
rollData.finalScore = bestScore + rollData.negativeModifier + rollData.positiveModifier
|
||||
|
||||
this.saveRollData(rollData)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-weapons-of-the-gods/templates/chat-generic-result.html`, rollData)
|
||||
});
|
||||
}
|
||||
|
||||
/* ------------------------- ------------------- */
|
||||
static async rerollDice(actorId, diceIndex = -1) {
|
||||
let actor = game.actors.get(actorId)
|
||||
@ -562,12 +561,13 @@ export class Imperium5Utility {
|
||||
realiteDice: 0,
|
||||
ameMalus: 0,
|
||||
useArchetype: false,
|
||||
useAide: false,
|
||||
nbAide: 0,
|
||||
useKarma: false,
|
||||
usedCapacite: "none",
|
||||
seuil: 2,
|
||||
currentIntensite: -1,
|
||||
nbSuccessSource: 0,
|
||||
useSingularites: game.settings.get("fvtt-imperium5", "use-singularite"),
|
||||
useSpecialite: game.settings.get("fvtt-imperium5", "use-specialite"),
|
||||
useEntropieReussite: game.settings.get("fvtt-imperium5", "use-entropie-reussite")
|
||||
}
|
||||
Imperium5Utility.updateWithTarget(rollData)
|
||||
|
@ -57,10 +57,10 @@
|
||||
|
||||
/* Fonts */
|
||||
.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item {
|
||||
font-size: 1.0rem;
|
||||
font-size: 0.8rem;
|
||||
} /* For title, sidebar character and scene */
|
||||
.sheet nav.sheet-tabs {
|
||||
font-size: 1.2rem;
|
||||
font-size: 0.8rem;
|
||||
} /* For nav and title */
|
||||
.window-app input, .foundryvtt-vadentis .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
|
||||
font-size: 0.8rem;
|
||||
@ -446,7 +446,7 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
|
||||
}
|
||||
|
||||
.sheet nav.sheet-tabs {
|
||||
font-size: 1.0rem;
|
||||
font-size: 0.8rem;
|
||||
font-weight: bold;
|
||||
height: 2.5rem;
|
||||
flex: 0 0 3rem;
|
||||
|
@ -7,7 +7,7 @@
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"version": "10.0.6",
|
||||
"version": "10.0.9",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
@ -67,5 +67,5 @@
|
||||
"background": "images/ui/imperium5_welcome_page.webp",
|
||||
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-imperium5",
|
||||
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-imperium5/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-imperium5/archive/fvtt-imperium5-v10.0.6.zip"
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-imperium5/archive/fvtt-imperium5-v10.0.7.zip"
|
||||
}
|
@ -1,7 +1,8 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": [
|
||||
"character"
|
||||
"character",
|
||||
"pm"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
@ -21,7 +22,8 @@
|
||||
"description": "",
|
||||
"rebuild": "",
|
||||
"contacts": "",
|
||||
"gmnotes": ""
|
||||
"gmnotes": "",
|
||||
"archetype": ""
|
||||
}
|
||||
},
|
||||
"core": {
|
||||
@ -126,6 +128,20 @@
|
||||
"seuil": 0,
|
||||
"reserve": 0
|
||||
}
|
||||
},
|
||||
"pmcore": {
|
||||
"ames": {
|
||||
"niveau": 0,
|
||||
"intensite": 1,
|
||||
"riposte": 1,
|
||||
"cohesions": [
|
||||
{
|
||||
"max": 1,
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"rupture": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"character": {
|
||||
@ -133,6 +149,12 @@
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"pm": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"pmcore"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
@ -168,7 +190,7 @@
|
||||
"description": ""
|
||||
},
|
||||
"ressource": {
|
||||
"value": 0,
|
||||
"ressource": 0,
|
||||
"description": ""
|
||||
},
|
||||
"capacite": {
|
||||
@ -178,15 +200,15 @@
|
||||
"description": ""
|
||||
},
|
||||
"singularite": {
|
||||
"value": 0,
|
||||
"ressource": 0,
|
||||
"description": ""
|
||||
},
|
||||
"equipement": {
|
||||
"value": 0,
|
||||
"ressource": 0,
|
||||
"description": ""
|
||||
},
|
||||
"contact": {
|
||||
"value": 0,
|
||||
"ressource": 0,
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
|
415
templates/actor-pm-sheet.html
Normal file
415
templates/actor-pm-sheet.html
Normal file
@ -0,0 +1,415 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<div class="flexrow">
|
||||
<div>
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item tab-title" data-tab="principal">Principal</a>
|
||||
<a class="item tab-title" data-tab="biodata">Bio</a>
|
||||
</nav>
|
||||
</div>
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab principal" data-group="primary" data-tab="principal">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="sheet-box color-bg-ame ">
|
||||
<span class="flexrow">
|
||||
<img class="ame-icon" src="systems/fvtt-imperium5/images/icons/ame_transparent.webp">
|
||||
<h4 class="ame-margin title-font">AMES</h4>
|
||||
</span>
|
||||
|
||||
<div class="ame-block">
|
||||
<span class="flexrow">
|
||||
<h4 class="ame-margin ame-subtitle">Niveau</h4>
|
||||
<input type="text" class="input-numeric-short padd-right status-small-label color-class-common"
|
||||
name="typedata.ames.niveau" value="{{system.ames.niveau}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}} />
|
||||
</span>
|
||||
|
||||
<span class="flexrow">
|
||||
<h4 class="ame-margin ame-subtitle">Intensité</h4>
|
||||
<input type="text" class="input-numeric-short padd-right status-small-label color-class-common"
|
||||
name="typedata.ames.intensite" value="{{system.ames.intensite}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}} />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="sheet-box color-bg-archetype ">
|
||||
<span class="flexrow">
|
||||
<img class="ame-icon" src="systems/fvtt-imperium5/images/icons/archetype_transparent.webp">
|
||||
<h4 class="ame-margin title-font">ARCHETYPE</h4>
|
||||
</span>
|
||||
<h4 class="ame-margin"></h4>
|
||||
<ul>
|
||||
<li class="item stat flexrow" data-item-id="{{archetype._id}}">
|
||||
<img class="sheet-competence-img" src="{{archetype.img}}" /></a>
|
||||
<span class="item-name-label">{{archetype.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
</ul>
|
||||
|
||||
<h4 class="ame-margin">Spécialités</h4>
|
||||
<ul>
|
||||
{{#each specialites as |spec key|}}
|
||||
<li class="item stat flexrow " data-item-id="{{spec._id}}">
|
||||
<img class="sheet-competence-img" src="{{spec.img}}" /></a>
|
||||
<span class="item-name-label">{{spec.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<h4 class="ame-margin">Familiarités :</h4>
|
||||
<ul>
|
||||
{{#each familiarites as |fami key|}}
|
||||
<li class="item stat flexrow " data-item-id="{{fami._id}}">
|
||||
<img class="sheet-competence-img" src="{{fami.img}}" /></a>
|
||||
<span class="item-name-label">{{fami.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="sheet-box color-bg-paradigme ">
|
||||
|
||||
<span class="flexrow">
|
||||
<img class="ame-icon" src="systems/fvtt-imperium5/images/icons/paradigme_transparent.webp">
|
||||
<h4 class="ame-margin title-font">PARADIGMES</h4>
|
||||
</span>
|
||||
<ul>
|
||||
{{> systems/fvtt-imperium5/templates/actor-partial-paradigmes.html}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype ">
|
||||
|
||||
<span class="flexrow">
|
||||
<img class="ame-icon" src="systems/fvtt-imperium5/images/icons/nature_transparent.webp">
|
||||
<h4 class="ame-margin title-font">NATURE PROFONDE</h4>
|
||||
</span>
|
||||
<ul>
|
||||
<li class="item stat flexrow " data-item-id="{{nature._id}}">
|
||||
<img class="sheet-competence-img" src="{{nature.img}}" />
|
||||
<span class="item-name-label">{{nature.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
</ul>
|
||||
|
||||
<h4 class="ame-margin">Traits</h4>
|
||||
<ul>
|
||||
{{#each traits as |trait key|}}
|
||||
<li class="item stat flexrow " data-item-id="{{trait._id}}">
|
||||
<img class="sheet-competence-img" src="{{trait.img}}" />
|
||||
<span class="item-name-label">{{trait.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<h4 class="ame-margin">Symbioses :</h4>
|
||||
<ul>
|
||||
{{#each symbioses as |symbiose key|}}
|
||||
<li class="item stat flexrow " data-item-id="{{symbiose._id}}">
|
||||
<img class="sheet-competence-img" src="{{symbiose.img}}" />
|
||||
<span class="item-name-label">{{symbiose.name}}</span>
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
{{!-- Equipement 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">Equipement</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Intensité</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equipements as |equip key|}}
|
||||
<li class="item flexrow " data-item-id="{{equip._id}}">
|
||||
<img class="item-name-img" src="{{equip.img}}" />
|
||||
<span class="item-name-label">{{equip.name}}</span>
|
||||
<span class="item-field-label-short">{{equip.system.value}}</span>
|
||||
|
||||
<div class="item-filler"> </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 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">Capacités</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Aide</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ressource</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each capacites as |capa key|}}
|
||||
<li class="item flexrow " data-item-id="{{capa._id}}">
|
||||
<img class="item-name-img" src="{{capa.img}}" /></a>
|
||||
<span class="item-name-label">{{capa.name}}</span>
|
||||
<span class="item-field-label-short"">{{capa.system.aide}}</span>
|
||||
<span class=" item-field-label-short"">{{capa.system.ressource}}</span>
|
||||
|
||||
<div class="item-filler"> </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 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">Singularités</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Intensité</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each singularites as |singul key|}}
|
||||
<li class="item flexrow " data-item-id="{{singul._id}}">
|
||||
<img class="item-name-img" src="{{singul.img}}" />
|
||||
<span class="item-name-label">{{singul.name}}</span>
|
||||
<span class="item-field-label-short">{{singul.system.value}}</span>
|
||||
|
||||
<div class="item-filler"> </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 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/Finances</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Intensité</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each contacts as |contact key|}}
|
||||
<li class="item flexrow " data-item-id="{{contact._id}}">
|
||||
<img class="item-name-img" src="{{contact.img}}" />
|
||||
<span class="item-name-label">{{contact.name}}</span>
|
||||
<span class="item-field-label-short">{{contact.system.value}}</span>
|
||||
|
||||
<div class="item-filler"> </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">
|
||||
<div class="grid grid-3col">
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Imperium</label>
|
||||
<input type="text" class="" name="system.biodata.imperium" value="{{system.biodata.imperium}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">ADM ID</label>
|
||||
<input type="text" class="" name="system.biodata.admid" value="{{system.biodata.admid}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Age</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Poids</label>
|
||||
<input type="text" class="" name="system.biodata.weight" value="{{system.biodata.weight}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sexe</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{system.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Taille</label>
|
||||
<input type="text" class="" name="system.biodata.size" value="{{system.biodata.size}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Yeux</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{system.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Main préférée</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{system.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Cheveux</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{system.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div>
|
||||
<h3>Apparence actuelle : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.appactual target="system.biodata.appactual" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Autres identités : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.identities target="system.biodata.identities" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div>
|
||||
<h3>Traits particuliers : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.traits target="system.biodata.traits" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Souvenirs quantiques : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.memories target="system.biodata.memories" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div>
|
||||
<h3>Rebuild : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.rebuild target="system.biodata.rebuild" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Relations, contacts et acolytes : </h3>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.biodata.contacts target="system.biodata.contacts" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Qui suis-je : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor system.biodata.whoami target="system.biodata.whoami" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor system.biodata.notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -5,19 +5,19 @@
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>Réserve : {{humanFormula}}</li>
|
||||
<li class="imperium5-roll">Réserve : {{humanFormula}}</li>
|
||||
<li>Score :
|
||||
(
|
||||
{{#each resultsPC as |r k|}}
|
||||
{{#if @root.useSingularites}}
|
||||
<a class="apply-singularite common-button" data-result-index="{{k}}">{{r.result}}</a>
|
||||
{{#if @root.useSpecialite}}
|
||||
<a class="apply-specialite common-button" data-result-index="{{k}}">{{r.result}}</a>
|
||||
{{else}}
|
||||
{{r.result}}
|
||||
{{/if}}
|
||||
@ -35,8 +35,8 @@
|
||||
)
|
||||
</li>
|
||||
|
||||
{{#if singulariteApplied}}
|
||||
<li>Une Singularité a réduit de 1 le résultat du dé</li>
|
||||
{{#if specialiteApplied}}
|
||||
<li>Une Spécialité a réduit de 1 le résultat du dé</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if usedParadigme}}
|
||||
@ -45,7 +45,8 @@
|
||||
|
||||
<li>Seuil : {{seuil}}
|
||||
{{#if (count paradigmes)}}
|
||||
<select class="common-button select-apply-paradigme" type="text" value="{{selectedParadigme}}" data-dtype="String">
|
||||
<select class="common-button select-apply-paradigme" type="text" value="{{selectedParadigme}}"
|
||||
data-dtype="String">
|
||||
{{#select selectedParadigme}}
|
||||
<option value="none">Pas de paradigme</option>
|
||||
{{#each paradigmes as |para key|}}
|
||||
@ -56,27 +57,54 @@
|
||||
{{/if}}
|
||||
</li>
|
||||
|
||||
<li>Succés : {{realSuccessPC}}
|
||||
<li>Unités de narration : {{realSuccessPC}}
|
||||
{{#if realSuccessPC}}
|
||||
<select class="common-button transfer-success" type="text" value="{{nbSuccessSource}}" data-dtype="Number">
|
||||
{{#select nbSuccessSource}}
|
||||
<option value="none">0 succès -> Source</option>
|
||||
<option value="none">0 -> Source</option>
|
||||
{{#times realSuccessPC}}
|
||||
<option value="{{this}}">{{this}} succès -> Source</option>
|
||||
<option value="{{this}}">{{this}} -> Source</option>
|
||||
{{/times}}
|
||||
{{/select}}
|
||||
</select>
|
||||
{{/if}}
|
||||
</li>
|
||||
|
||||
{{#if realSuccessPC}}
|
||||
<li>Ressource :
|
||||
<select class="common-button select-ressource" type="text" value="none" data-dtype="String">
|
||||
{{#select "none"}}
|
||||
<option value="none">Aucun</option>
|
||||
{{#each ressources as |ressource key|}}
|
||||
<option value="{{ressource._id}}">{{ressource.name}} ({{ressource.system.ressource}})</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (count selectedRessources)}}
|
||||
<li>Ressources utilisées : </li>
|
||||
<ul class="ul-level1">
|
||||
{{#each selectedRessources as |ressource key|}}
|
||||
<li>
|
||||
{{ressource.name}} ({{ressource.system.ressource}});
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if totalIntensite}}
|
||||
<li>Intensité totale : {{totalIntensite}}</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if sourceTransfer}}
|
||||
<li>Succés transférés à la Source : {{sourceTransfer}}</li>
|
||||
{{/if}}
|
||||
|
||||
<li>Succés de Réalité : {{successGM}}</li>
|
||||
|
||||
<li>Unités de narration : {{nbUnitesNarration}}</li>
|
||||
|
||||
{{#if nbKarma}}
|
||||
<li>Points de Karma utilisés : {{nbKarma}}</li>
|
||||
{{/if}}
|
||||
@ -89,6 +117,6 @@
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
@ -9,15 +9,23 @@
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Malus : {{ameMalus}}</span>
|
||||
<span class="roll-dialog-label">Ruptures : {{ameMalus}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Utiliser l'Archetype ? : </span>
|
||||
<input class="ame-checkbox" id="select-use-archetype" type="checkbox" {{checked useArchetype}}>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Aide d'un autre personnage ? : </span>
|
||||
<input class="ame-checkbox" id="select-use-aide" type="checkbox" {{checked useAide}}>
|
||||
<span class="roll-dialog-label">Aides ? : </span>
|
||||
<select class="roll-dialog-label" id="select-aide-pj" type="text" name="nbAide" value="{{nbAide}}"
|
||||
data-dtype="Number">
|
||||
{{#select nbAide}}
|
||||
<option value="0">0</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{#if karma}}
|
||||
<div class="flexrow">
|
||||
|
Loading…
Reference in New Issue
Block a user