Annence/Boheme
This commit is contained in:
		| @@ -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> | ||||
		Reference in New Issue
	
	Block a user