Annence/Boheme
This commit is contained in:
parent
61a1a4a904
commit
b2219c0f81
@ -155,7 +155,8 @@
|
||||
"enhancements": "Enhancements",
|
||||
"oniricform": "Oniric shape (Boheme)",
|
||||
"ideals": "Ideals",
|
||||
"politic": "Political ideal"
|
||||
"politic": "Political ideal",
|
||||
"boheme": "Boheme"
|
||||
}
|
||||
}
|
||||
}
|
@ -156,7 +156,8 @@
|
||||
"enhancements": "Améliorations",
|
||||
"oniricform": "Forme Onorique (Bohême)",
|
||||
"ideals": "Idéaux",
|
||||
"politic": "Idéaux politiques"
|
||||
"politic": "Idéaux politiques",
|
||||
"boheme": "Bohême"
|
||||
}
|
||||
}
|
||||
}
|
@ -52,6 +52,7 @@ export class EcrymeActorSheet extends ActorSheet {
|
||||
hasAmertume: EcrymeUtility.hasAmertume(),
|
||||
cephalySkills: this.actor.getCephalySkills(),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
annency: this.actor.getAnnency(),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
|
||||
equipementlibre: await TextEditor.enrichHTML(this.object.system.equipementlibre, { async: true }),
|
||||
@ -79,6 +80,12 @@ export class EcrymeActorSheet extends ActorSheet {
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
|
||||
html.find('.open-annency').click(ev => {
|
||||
let actorId = $(ev.currentTarget).data("annency-id")
|
||||
const actor = game.actors.get(actorId)
|
||||
actor.sheet.render(true)
|
||||
})
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
|
@ -68,6 +68,31 @@ export class EcrymeActor extends Actor {
|
||||
|
||||
return comp;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildAnnencyActorList() {
|
||||
let membersFull = {}
|
||||
for(let id of this.system.base.characters) {
|
||||
let actor = game.actors.get(id)
|
||||
membersFull[id] = { name: actor.name, id: actor.id, img: actor.img }
|
||||
}
|
||||
return membersFull
|
||||
}
|
||||
/* ----------------------- --------------------- */
|
||||
addAnnencyActor(actorId) {
|
||||
let members = duplicate(this.system.base.characters)
|
||||
members.push(actorId)
|
||||
this.update({ 'system.base.characters': members })
|
||||
}
|
||||
async removeAnnencyActor(actorId) {
|
||||
let members = this.system.base.characters.filter(id => id != actorId)
|
||||
this.update({ 'system.base.characters': members })
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getAnnency() {
|
||||
return game.actors.find(a => a.type == 'annency' && a.system.base.characters.includes(this.id))
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getConfrontations() {
|
||||
return this.items.filter(it => it.type == "confrontation")
|
||||
|
143
modules/actors/ecryme-annency-sheet.js
Normal file
143
modules/actors/ecryme-annency-sheet.js
Normal file
@ -0,0 +1,143 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { EcrymeUtility } from "../common/ecryme-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class EcrymeAnnencySheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-ecryme", "sheet", "actor"],
|
||||
template: "systems/fvtt-ecryme/templates/actors/annency-sheet.hbs",
|
||||
width: 640,
|
||||
height: 600,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "annency" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
|
||||
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: duplicate(this.object.system),
|
||||
limited: this.object.limited,
|
||||
config: duplicate(game.system.ecryme.config),
|
||||
hasCephaly: EcrymeUtility.hasCephaly(),
|
||||
hasBoheme: EcrymeUtility.hasBoheme(),
|
||||
hasAmertume: EcrymeUtility.hasAmertume(),
|
||||
characters: this.actor.buildAnnencyActorList(),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("Annency : ", 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;
|
||||
});
|
||||
|
||||
html.find('.actor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let actorId = li.data("actor-id")
|
||||
const actor = game.actors.get(actorId)
|
||||
actor.sheet.render(true)
|
||||
})
|
||||
html.find('.actor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let actorId = li.data("actor-id")
|
||||
this.actor.removeAnnencyActor(actorId)
|
||||
})
|
||||
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get(itemId);
|
||||
item.sheet.render(true);
|
||||
});
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
EcrymeUtility.confirmDelete(this, li).catch("Error : No deletion confirmed")
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.subactor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
let actor = game.actors.get(actorId);
|
||||
actor.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.subactor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
this.actor.delSubActor(actorId);
|
||||
});
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update({ [`${fieldName}`]: value });
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDropActor(event, dragData) {
|
||||
const actor = fromUuidSync(dragData.uuid)
|
||||
if (actor) {
|
||||
this.actor.addAnnencyActor(actor.id)
|
||||
} else {
|
||||
ui.notifications.warn("Actor not found")
|
||||
}
|
||||
super._onDropActor(event)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @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;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
@ -11,6 +11,7 @@
|
||||
import { EcrymeActor } from "./actors/ecryme-actor.js";
|
||||
import { EcrymeItemSheet } from "./items/ecryme-item-sheet.js";
|
||||
import { EcrymeActorSheet } from "./actors/ecryme-actor-sheet.js";
|
||||
import { EcrymeAnnencySheet } from "./actors/ecryme-annency-sheet.js";
|
||||
import { EcrymeUtility } from "./common/ecryme-utility.js";
|
||||
import { EcrymeCombat } from "./app/ecryme-combat.js";
|
||||
import { EcrymeItem } from "./items/ecryme-item.js";
|
||||
@ -58,7 +59,7 @@ Hooks.once("init", async function () {
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
|
||||
//Actors.registerSheet("fvtt-ecryme", EcrymeNPCSheet, { types: ["pnj"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });
|
||||
|
@ -1 +1 @@
|
||||
MANIFEST-000038
|
||||
MANIFEST-000046
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-09:07:13.603738 7f5867fff6c0 Recovering log #36
|
||||
2023/08/08-09:07:13.613379 7f5867fff6c0 Delete type=3 #34
|
||||
2023/08/08-09:07:13.613547 7f5867fff6c0 Delete type=0 #36
|
||||
2023/08/08-09:07:28.094335 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/08-09:07:28.094367 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/08-09:07:28.130086 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/08-09:07:28.130372 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:38:49.036882 7f5afcdf86c0 Recovering log #44
|
||||
2023/08/08-14:38:49.124780 7f5afcdf86c0 Delete type=3 #42
|
||||
2023/08/08-14:38:49.124893 7f5afcdf86c0 Delete type=0 #44
|
||||
2023/08/08-14:54:21.588098 7f58677fe6c0 Level-0 table #49: started
|
||||
2023/08/08-14:54:21.588122 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
||||
2023/08/08-14:54:21.594444 7f58677fe6c0 Delete type=0 #47
|
||||
2023/08/08-14:54:21.607310 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-08:56:25.009827 7f5afcdf86c0 Recovering log #32
|
||||
2023/08/08-08:56:25.043068 7f5afcdf86c0 Delete type=3 #30
|
||||
2023/08/08-08:56:25.043112 7f5afcdf86c0 Delete type=0 #32
|
||||
2023/08/08-09:07:10.720233 7f58677fe6c0 Level-0 table #37: started
|
||||
2023/08/08-09:07:10.720259 7f58677fe6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/08/08-09:07:10.728506 7f58677fe6c0 Delete type=0 #35
|
||||
2023/08/08-09:07:10.742534 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:36:00.338439 7f5867fff6c0 Recovering log #40
|
||||
2023/08/08-14:36:00.347950 7f5867fff6c0 Delete type=3 #38
|
||||
2023/08/08-14:36:00.348021 7f5867fff6c0 Delete type=0 #40
|
||||
2023/08/08-14:38:45.882749 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/08-14:38:45.882812 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/08-14:38:45.920058 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/08-14:38:45.981054 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000038
|
||||
MANIFEST-000046
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-09:07:13.616518 7f5867fff6c0 Recovering log #36
|
||||
2023/08/08-09:07:13.626451 7f5867fff6c0 Delete type=3 #34
|
||||
2023/08/08-09:07:13.626504 7f5867fff6c0 Delete type=0 #36
|
||||
2023/08/08-09:07:28.173846 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/08-09:07:28.173906 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/08-09:07:28.221287 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/08-09:07:28.221402 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:38:49.155473 7f5867fff6c0 Recovering log #44
|
||||
2023/08/08-14:38:49.260893 7f5867fff6c0 Delete type=3 #42
|
||||
2023/08/08-14:38:49.260950 7f5867fff6c0 Delete type=0 #44
|
||||
2023/08/08-14:54:21.600756 7f58677fe6c0 Level-0 table #49: started
|
||||
2023/08/08-14:54:21.600776 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
||||
2023/08/08-14:54:21.607211 7f58677fe6c0 Delete type=0 #47
|
||||
2023/08/08-14:54:21.607330 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-08:56:25.046084 7f5867fff6c0 Recovering log #32
|
||||
2023/08/08-08:56:25.085371 7f5867fff6c0 Delete type=3 #30
|
||||
2023/08/08-08:56:25.085419 7f5867fff6c0 Delete type=0 #32
|
||||
2023/08/08-09:07:10.736291 7f58677fe6c0 Level-0 table #37: started
|
||||
2023/08/08-09:07:10.736337 7f58677fe6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/08/08-09:07:10.742372 7f58677fe6c0 Delete type=0 #35
|
||||
2023/08/08-09:07:10.742595 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:36:00.351163 7f5867fff6c0 Recovering log #40
|
||||
2023/08/08-14:36:00.363535 7f5867fff6c0 Delete type=3 #38
|
||||
2023/08/08-14:36:00.363690 7f5867fff6c0 Delete type=0 #40
|
||||
2023/08/08-14:38:46.072007 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/08-14:38:46.072050 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/08-14:38:46.103317 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/08-14:38:46.137931 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000038
|
||||
MANIFEST-000046
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-09:07:13.603739 7f5afddfa6c0 Recovering log #36
|
||||
2023/08/08-09:07:13.613381 7f5afddfa6c0 Delete type=3 #34
|
||||
2023/08/08-09:07:13.613431 7f5afddfa6c0 Delete type=0 #36
|
||||
2023/08/08-09:07:28.018452 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/08-09:07:28.018491 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/08-09:07:28.055806 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/08-09:07:28.130329 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:38:49.036954 7f5867fff6c0 Recovering log #44
|
||||
2023/08/08-14:38:49.153034 7f5867fff6c0 Delete type=3 #42
|
||||
2023/08/08-14:38:49.153108 7f5867fff6c0 Delete type=0 #44
|
||||
2023/08/08-14:54:21.558302 7f58677fe6c0 Level-0 table #49: started
|
||||
2023/08/08-14:54:21.558341 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
||||
2023/08/08-14:54:21.572779 7f58677fe6c0 Delete type=0 #47
|
||||
2023/08/08-14:54:21.573011 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-08:56:25.009829 7f5867fff6c0 Recovering log #32
|
||||
2023/08/08-08:56:25.043069 7f5867fff6c0 Delete type=3 #30
|
||||
2023/08/08-08:56:25.043120 7f5867fff6c0 Delete type=0 #32
|
||||
2023/08/08-09:07:10.688033 7f58677fe6c0 Level-0 table #37: started
|
||||
2023/08/08-09:07:10.688071 7f58677fe6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/08/08-09:07:10.694013 7f58677fe6c0 Delete type=0 #35
|
||||
2023/08/08-09:07:10.710270 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:36:00.338438 7f5afd5f96c0 Recovering log #40
|
||||
2023/08/08-14:36:00.347864 7f5afd5f96c0 Delete type=3 #38
|
||||
2023/08/08-14:36:00.347905 7f5afd5f96c0 Delete type=0 #40
|
||||
2023/08/08-14:38:46.031269 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/08-14:38:46.031315 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/08-14:38:46.071808 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/08-14:38:46.137889 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000038
|
||||
MANIFEST-000046
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-09:07:13.616518 7f5afd5f96c0 Recovering log #36
|
||||
2023/08/08-09:07:13.626497 7f5afd5f96c0 Delete type=3 #34
|
||||
2023/08/08-09:07:13.626556 7f5afd5f96c0 Delete type=0 #36
|
||||
2023/08/08-09:07:28.130506 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/08-09:07:28.130559 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/08-09:07:28.173605 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/08-09:07:28.221390 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:38:49.127661 7f5afcdf86c0 Recovering log #44
|
||||
2023/08/08-14:38:49.237408 7f5afcdf86c0 Delete type=3 #42
|
||||
2023/08/08-14:38:49.237452 7f5afcdf86c0 Delete type=0 #44
|
||||
2023/08/08-14:54:21.594546 7f58677fe6c0 Level-0 table #49: started
|
||||
2023/08/08-14:54:21.594573 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
||||
2023/08/08-14:54:21.600659 7f58677fe6c0 Delete type=0 #47
|
||||
2023/08/08-14:54:21.607322 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-08:56:25.046084 7f5afcdf86c0 Recovering log #32
|
||||
2023/08/08-08:56:25.085370 7f5afcdf86c0 Delete type=3 #30
|
||||
2023/08/08-08:56:25.085408 7f5afcdf86c0 Delete type=0 #32
|
||||
2023/08/08-09:07:10.728779 7f58677fe6c0 Level-0 table #37: started
|
||||
2023/08/08-09:07:10.728820 7f58677fe6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/08/08-09:07:10.736158 7f58677fe6c0 Delete type=0 #35
|
||||
2023/08/08-09:07:10.742554 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
2023/08/08-14:36:00.351163 7f5afd5f96c0 Recovering log #40
|
||||
2023/08/08-14:36:00.360537 7f5afd5f96c0 Delete type=3 #38
|
||||
2023/08/08-14:36:00.360576 7f5afd5f96c0 Delete type=0 #40
|
||||
2023/08/08-14:38:46.103419 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/08-14:38:46.103439 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/08-14:38:46.137624 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/08-14:38:46.137971 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -90,7 +90,7 @@
|
||||
],
|
||||
"title": "Ecryme, le Jeu de Rôles",
|
||||
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme",
|
||||
"version": "11.0.13",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.13.zip",
|
||||
"version": "11.0.16",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.16.zip",
|
||||
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": [
|
||||
"pc"
|
||||
"pc","annency"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
@ -136,20 +136,6 @@
|
||||
"major": 0
|
||||
}
|
||||
},
|
||||
"annency": {
|
||||
"iscollective": false,
|
||||
"ismultiple": false,
|
||||
"characters": "",
|
||||
"location": {"1": "", "2": "", "3":"", "4":"", "5":"" },
|
||||
"description": "",
|
||||
"enhancements": "",
|
||||
"boheme": {
|
||||
"name": "",
|
||||
"ideals": "",
|
||||
"politic": "",
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"cephaly": {
|
||||
"name": "ECRY.ui.cephaly",
|
||||
"skilllist": {
|
||||
@ -187,7 +173,28 @@
|
||||
"npccore": {
|
||||
"npctype": "",
|
||||
"description": ""
|
||||
},
|
||||
"annency": {
|
||||
"base": {
|
||||
"iscollective": false,
|
||||
"ismultiple": false,
|
||||
"characters": [],
|
||||
"location": {"1": "", "2": "", "3":"", "4":"", "5":"" },
|
||||
"description": "",
|
||||
"enhancements": ""
|
||||
},
|
||||
"boheme": {
|
||||
"name": "",
|
||||
"ideals": "",
|
||||
"politic": "",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"annency": {
|
||||
"templates": [
|
||||
"annency"
|
||||
]
|
||||
},
|
||||
"pc": {
|
||||
"templates": [
|
||||
|
@ -151,74 +151,20 @@
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<h3>{{localize "ECRY.ui.annency"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.iscollective"}}
|
||||
</span>
|
||||
<input type="checkbox" class="item-field-label-short" name="system.annency.iscollective"
|
||||
value="{{system.annency.iscollective}}" {{checked system.annency.iscollective}} />
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.ismultiple"}}
|
||||
</span>
|
||||
<input type="checkbox" class="item-field-label-short" name="system.annency.ismultiple"
|
||||
value="{{system.annency.ismultiple}}" {{checked system.annency.ismultiple}} />
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.description"}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.annency.description">{{system.annency.description}}</textarea>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.characters"}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.annency.characters">{{system.annency.characters}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>{{localize "ECRY.ui.oniricform"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.name"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.annency.boheme.name" value="{{system.annency.boheme.name}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.ideals"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.annency.boheme.ideals" value="{{system.annency.boheme.ideals}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.politic"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.annency.boheme.politic" value="{{system.annency.boheme.politic}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.description"}}</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.annency.boheme.description">{{system.annency.boheme.description}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>{{localize "ECRY.ui.annency"}}</h3>
|
||||
{{#if annency}}
|
||||
<h3>{{localize "ECRY.ui.annency"}} : <a class="open-annency" data-annency-id="{{annency.id}}">{{annency.name}}<i class="fas fa-edit"></i></a></h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
{{#each system.annency.location as |location index|}}
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.location"}} {{index}}
|
||||
<span class="item-name-label-long">
|
||||
{{annency.system.base.description}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.annency.location.{{index}}">{{location}}</textarea>
|
||||
</li>
|
||||
{{/each}}
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.enhancements"}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.annency.enhancements">{{system.annency.enhancements}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
138
templates/actors/annency-sheet.hbs
Normal file
138
templates/actors/annency-sheet.hbs
Normal file
@ -0,0 +1,138 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="profile-img-container">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
</div>
|
||||
|
||||
<div class="flexcol">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
|
||||
<div class="flexrow">
|
||||
<ul>
|
||||
<li class="flexrow item" data-item-id="{{spleen.id}}">
|
||||
<label class="item-name-label-medium">Description :</label>
|
||||
<textarea class="textarea-default" rows="3" name="system.base.description">{{system.base.description}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
{{#if hasCephaly}}
|
||||
<a class="item" data-tab="annency">{{localize "ECRY.ui.annency"}}</a>
|
||||
{{/if}}
|
||||
{{#if hasBoheme}}
|
||||
<a class="item" data-tab="boheme">{{localize "ECRY.ui.boheme"}}</a>
|
||||
{{/if}}
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{#if hasCephaly}}
|
||||
{{!-- Cephaly Tab --}}
|
||||
<div class="tab annency" data-group="primary" data-tab="annency">
|
||||
|
||||
<div class="grid grid-2col">
|
||||
|
||||
<div>
|
||||
|
||||
<h3>{{localize "ECRY.ui.annency"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-short">
|
||||
{{localize "ECRY.ui.iscollective"}}
|
||||
</span>
|
||||
<input type="checkbox" class="item-field-label-short" name="system.base.iscollective"
|
||||
value="{{system.base.iscollective}}" {{checked system.base.iscollective}} />
|
||||
<span class="item-name-label-short">
|
||||
{{localize "ECRY.ui.ismultiple"}}
|
||||
</span>
|
||||
<input type="checkbox" class="item-field-label-short" name="system.base.ismultiple"
|
||||
value="{{system.base.ismultiple}}" {{checked system.base.ismultiple}} />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>{{localize "ECRY.ui.characters"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
{{#each characters as |character id|}}
|
||||
<li class="item flexrow " data-actor-id="{{character.id}}" >
|
||||
<img class="item-name-img" src="{{character.img}}" />
|
||||
<span class="item-name-label competence-name">{{character.name}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control actor-edit" title="Edit Actor"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control actor-delete" title="Delete Actor"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>{{localize "ECRY.ui.location"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
{{#each system.base.location as |location index|}}
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.location"}} {{index}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.base.location.{{index}}">{{location}}</textarea>
|
||||
</li>
|
||||
{{/each}}
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">
|
||||
{{localize "ECRY.ui.enhancements"}}
|
||||
</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.base.enhancements">{{system.base.enhancements}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasBoheme}}
|
||||
<div class="tab boheme" data-group="primary" data-tab="boheme">
|
||||
|
||||
<h3>{{localize "ECRY.ui.oniricform"}}</h3>
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.name"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.boheme.name" value="{{system.boheme.name}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.ideals"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.boheme.ideals" value="{{system.boheme.ideals}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.politic"}}</span>
|
||||
<input type="text" class="item-field-label-long" name="system.boheme.politic" value="{{system.boheme.politic}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="item flexrow list-item">
|
||||
<span class="item-name-label-medium">{{localize "ECRY.ui.description"}}</span>
|
||||
<textarea class="textarea-default" rows="3" name="system.boheme.description">{{system.boheme.description}}</textarea>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
</section>
|
||||
</form>
|
Loading…
Reference in New Issue
Block a user