From 6384e67806d437d49693a5d90d17e1c9d520e244 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 15:49:29 -0500 Subject: [PATCH 001/103] created system to bring up form when ending session. Automatically calculates gained XP as well as advancements. --- module/documents/session-end-advancement.mjs | 51 ++++++++++++++++++++ module/sheets/actor-sheet.mjs | 13 +---- templates/session-end-advancement.hbs | 37 ++++++++++++++ 3 files changed, 90 insertions(+), 11 deletions(-) create mode 100644 module/documents/session-end-advancement.mjs create mode 100644 templates/session-end-advancement.hbs diff --git a/module/documents/session-end-advancement.mjs b/module/documents/session-end-advancement.mjs new file mode 100644 index 0000000..f23b349 --- /dev/null +++ b/module/documents/session-end-advancement.mjs @@ -0,0 +1,51 @@ +export class SessionEndAdvancement extends FormApplication { + constructor(actor) { + super(); + this.actor = actor; + } + static get defaultOptions() { + return mergeObject(super.defaultOptions, { + classes: ['form'], + popOut: true, + template: `systems/cain/templates/session-end-advancement.hbs`, + id: 'session-end-advancement', + title: 'End of Session Advancement', + }); + } + getData() { + return { + actor: this.actor, + }; + } + activateListeners(html) { + super.activateListeners(html); + } + + async _updateObject(event, formData) { + var survival = 0; + var firstAgenda = 0; + var boldAgenda = 0; + var injuries = 0; + for(const [key, value] of Object.entries(formData)){ + console.log(key + " : " + value); + if (key == "survival" && value) survival = 1; + if (key.substring(0,11) == "firstAgenda" && value) firstAgenda++; + if (key.substring(0,10) == "boldAgenda" && value) boldAgenda++; + if (key == "injuries" && value) injuries = 1; + } + if (firstAgenda > 1) firstAgenda = 1; + if (boldAgenda > 2) boldAgenda = 2; + const totalGain = survival + firstAgenda + boldAgenda + injuries; + const oldXPValue = this.actor.system.xp.value; + const newXPValue = oldXPValue + totalGain; + if (newXPValue >= this.actor.system.xp.max) { + this.actor.update({ 'system.xp.value': newXPValue % this.actor.system.xp.max}); + const newAdvanceValue = this.actor.system.advancements.value + Math.floor(newXPValue/this.actor.system.xp.max); + this.actor.update({ 'system.advancements.value': newAdvanceValue}); + } else { + this.actor.update({ 'system.xp.value': newXPValue}); + console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); + } + + } +} \ No newline at end of file diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 4e9ef53..f949cf1 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -4,7 +4,7 @@ import { } from '../helpers/effects.mjs'; import { CAIN } from '../helpers/config.mjs'; - +import { SessionEndAdvancement } from '../documents/session-end-advancement.mjs'; /** * Extend the basic ActorSheet with some very simple modifications * @extends {ActorSheet} @@ -223,16 +223,7 @@ export class CainActorSheet extends ActorSheet { _increaseXPValue(event) { event.preventDefault(); - const oldXPValue = this.actor.system.xp.value; - const newXPValue = oldXPValue + 1; - if (newXPValue >= this.actor.system.xp.max) { - this.actor.update({ 'system.xp.value': 0}); - const newAdvanceValue = this.actor.system.advancements.value + 1 - this.actor.update({ 'system.advancements.value': newAdvanceValue}); - } else { - this.actor.update({ 'system.xp.value': newXPValue}); - console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); - } + new SessionEndAdvancement(this.actor).render(true); } _boldAgendaItem(event) { diff --git a/templates/session-end-advancement.hbs b/templates/session-end-advancement.hbs new file mode 100644 index 0000000..46d9de0 --- /dev/null +++ b/templates/session-end-advancement.hbs @@ -0,0 +1,37 @@ + +
+

Survival

+
+ + +
+

Up to 1 from first agenda

+ {{#each actor.system.currentAgendaItems}} + {{#unless this.isBold}} +
+ + +
+ {{/unless}} + {{/each}} +

Up to 2 from bold agendas

+ + {{#each actor.system.currentAgendaItems}} + {{#if this.isBold}} +
+ + +
+ {{/if}} + {{/each}} +

Injuries/Afflictions

+
+ + +
+
+ +
+
From 521799434974db48ae1f0004ab33104739b31e65 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 17:33:19 -0500 Subject: [PATCH 002/103] Changed XP buttons to increase/decrease/end session Added end of session form which helps players calculate gained XP based on their agendas. --- module/sheets/actor-sheet.mjs | 25 ++++++++++ templates/actor/parts/actor-features.hbs | 16 +++++-- templates/session-end-advancement.hbs | 59 +++++++++++++++++++++++- 3 files changed, 95 insertions(+), 5 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index f949cf1..a00ecf0 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -181,6 +181,8 @@ export class CainActorSheet extends ActorSheet { html.find('.kit-points-checkbox').change(this._onKitPointsChange.bind(this)); html.find('.clear-sin-marks').click(this._clearSinMarks.bind(this)); html.find('#increment-xp-value').click(this._increaseXPValue.bind(this)); + html.find('#decrement-xp-value').click(this._decreaseXPValue.bind(this)); + html.find('#session-end-xp-value').click(this._openEndSessionModal.bind(this)); html.find('.delete-sin-mark').click(this._deleteSinMark.bind(this)); html.find('.roll-sin-mark').click(this._rollSinMark.bind(this)); html.find('.talisman-name').change(this._onInputChange.bind(this)); @@ -222,6 +224,29 @@ export class CainActorSheet extends ActorSheet { } _increaseXPValue(event) { + event.preventDefault(); + const oldXPValue = this.actor.system.xp.value; + const newXPValue = oldXPValue + 1; + if (newXPValue >= this.actor.system.xp.max) { + this.actor.update({ 'system.xp.value': 0}); + const newAdvanceValue = this.actor.system.advancements.value + 1 + this.actor.update({ 'system.advancements.value': newAdvanceValue}); + } else { + this.actor.update({ 'system.xp.value': newXPValue}); + console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); + } + } + + _decreaseXPValue(event) { + event.preventDefault(); + const oldXPValue = this.actor.system.xp.value; + const newXPValue = Math.max(oldXPValue - 1, 0); + //No need to check for advancement when decreasing + this.actor.update({ 'system.xp.value': newXPValue}); + console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); + } + + _openEndSessionModal(event) { event.preventDefault(); new SessionEndAdvancement(this.actor).render(true); } diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 10071db..47aeff7 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -108,10 +108,18 @@
- {{system.xp.value}} / {{system.xp.max}} - + {{system.xp.value}} / {{system.xp.max}} +
+ + + +
{{#times system.xp.max}} diff --git a/templates/session-end-advancement.hbs b/templates/session-end-advancement.hbs index 46d9de0..5c257ad 100644 --- a/templates/session-end-advancement.hbs +++ b/templates/session-end-advancement.hbs @@ -1,5 +1,62 @@ + +

Survival

From e7d3575e9731691e5a7c09282b7d241c473c85a3 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 17:34:58 -0500 Subject: [PATCH 003/103] Fixed CSS comments --- templates/session-end-advancement.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/session-end-advancement.hbs b/templates/session-end-advancement.hbs index 5c257ad..0d5c896 100644 --- a/templates/session-end-advancement.hbs +++ b/templates/session-end-advancement.hbs @@ -44,7 +44,7 @@ .session-end-form .sheet-footer button { background-color: #FF0000; /* Red button background */ color: #FFFFFF; /* White text */ - border: 1px solid #0066ff; /* Neon blue border */ + border: 1px solid #0066ff; /* Dark blue border */ padding: 5px 10px; font-size: 14px; cursor: pointer; @@ -52,7 +52,7 @@ } .session-end-form .sheet-footer button:hover { - background-color: #a53704; /* Change background to neon blue on hover */ + background-color: #a53704; /* darkens background on hover */ color: #000000; /* Change text to black on hover */ } From 85721fc0bf5fcd6ce3c5a38427c2236b5b1c5e51 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 20:08:30 -0500 Subject: [PATCH 004/103] Initial work towards and updated agena schema --- module/cain.mjs | 4 ++++ module/data/item-agenda.mjs | 21 +++++++++++++---- module/sheets/item-sheet.mjs | 13 +++++++++++ templates/item/item-agenda-sheet.hbs | 34 ++++++++++++++++------------ 4 files changed, 54 insertions(+), 18 deletions(-) diff --git a/module/cain.mjs b/module/cain.mjs index 887ddbc..ee8af54 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -126,6 +126,10 @@ Handlebars.registerHelper('calcPercentage', function(curr, max) { return (curr / max) * 100; }); +Handlebars.registerHelper('json', function(context) { + return JSON.stringify(context); +}); + /* -------------------------------------------- */ /* Ready Hook */ /* -------------------------------------------- */ diff --git a/module/data/item-agenda.mjs b/module/data/item-agenda.mjs index cfcfae2..110d631 100644 --- a/module/data/item-agenda.mjs +++ b/module/data/item-agenda.mjs @@ -1,7 +1,6 @@ import CainItemBase from "./base-item.mjs"; export default class CainAgenda extends CainItemBase { - static defineSchema() { const fields = foundry.data.fields; const requiredInteger = { required: true, nullable: false, integer: true }; @@ -9,12 +8,26 @@ export default class CainAgenda extends CainItemBase { schema.agendaName = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); - schema.agendaItemChecklist = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); - schema.abilityChecklist = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); + schema.formula = new fields.StringField({ blank: true }); + + schema.primaryTask = new fields.SchemaField({ + task: new fields.StringField({required: true, nullable: false, initial: "be chill"}), + isBold: new fields.BooleanField({required: true, nullable: false, initial: true}) + }, {required: false, nullable: true, initial: {task: "be chill", isBold: false}}); + schema.boldedTasks = new fields.ArrayField(new fields.SchemaField({ + task: new fields.StringField({required: true, nullable: false, initial: "be chill"}), + isBold: new fields.BooleanField({required: true, nullable: false, initial: true}) + }), {required: false, nullable: true, initial: [{task: "don't be unchill", isBold: true}]}); + + schema.abilities = new fields.ArrayField(new fields.SchemaField({ + name: new fields.StringField({required: false, nullable: true, initial: "New Ability"}), + description: new fields.StringField({required: false, nullable: true, initial: "Ability Description"}) + }), {required: false, nullable: true, initial: [{name: "bonk", description: "hit em good"}]}); return schema; } -} \ No newline at end of file +} + diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index 06750e8..f4c58ae 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -89,5 +89,18 @@ export class CainItemSheet extends ItemSheet { html.on('click', '.effect-control', (ev) => onManageActiveEffect(ev, this.item) ); + html.find('#newAgendaTask').click(this._onMakeNewTask.bind(this)); } + + _onMakeNewTask(event) { + event.preventDefault(); + console.log(this.object); + console.log(this.object.system); + console.log(this.object.system.primaryTask); + if (this.object.system.primaryTask == null) { + this.object.update({ 'system.primaryTask': {task: "be chill", isBold: false + }}); + } +} + } diff --git a/templates/item/item-agenda-sheet.hbs b/templates/item/item-agenda-sheet.hbs index cde6290..0603c1a 100644 --- a/templates/item/item-agenda-sheet.hbs +++ b/templates/item/item-agenda-sheet.hbs @@ -1,5 +1,3 @@ -{{! This template is a fallback for when items don't have more specific templates. }} -{{! Generally, you'll want to make more specific templates when possible. }}
- Description + Tasks + Abilities {{! Sheet Body }}
- - {{! Description Tab }} -
- {{! Editors must receive enriched text data from getData to properly handle rolls }} - {{editor - enrichedDescription - target='system.description' - engine='prosemirror' - button=true - editable=editable - }} +
+
    +
  • {{item.system.primaryTask.task}}
  • + {{#each item.system.boldedTasks}} +
  • + {{this.task}} +
  • + {{/each}} +
+
+
+ {{! Abilities Tab }} +
+
    + {{#each item.system.abilities}} +
  • {{this.name}}: {{this.description}}
  • + {{/each}} +
\ No newline at end of file From b4a71df47ed7971b9c3288a466cc084533276481 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 20:10:35 -0500 Subject: [PATCH 005/103] moved current/max to below buttons --- templates/actor/parts/actor-features.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 47aeff7..f2ef663 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -108,7 +108,6 @@
- {{system.xp.value}} / {{system.xp.max}}
+ {{system.xp.value}} / {{system.xp.max}}
{{#times system.xp.max}} From 88758dbf6cd0fa53660314143ab9fa031b24f89c Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 21:04:41 -0500 Subject: [PATCH 006/103] Added in mentioned changes. Note that the text for missing agenda tasks will only happen if you have no tasks. --- templates/actor/parts/actor-features.hbs | 4 +++- templates/session-end-advancement.hbs | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index f2ef663..2cb7e68 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -119,7 +119,9 @@ End Session XP
- {{system.xp.value}} / {{system.xp.max}} +
+ {{system.xp.value}} / {{system.xp.max}} +
{{#times system.xp.max}} diff --git a/templates/session-end-advancement.hbs b/templates/session-end-advancement.hbs index 0d5c896..9f6682e 100644 --- a/templates/session-end-advancement.hbs +++ b/templates/session-end-advancement.hbs @@ -70,6 +70,8 @@
{{/unless}} + {{else}} + You don't seem to have a primary agenda - consider adding one... {{/each}}

Up to 2 from bold agendas

@@ -80,6 +82,8 @@
{{/if}} + {{else}} + You don't seem to have any bolded agendas - consider adding one... {{/each}}

Injuries/Afflictions

From 30f73e04dafcd682b6b6f056831182424617c5f9 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 21:59:11 -0500 Subject: [PATCH 007/103] progress on adding agendas and tasks --- lang/en.json | 3 +- module/cain.mjs | 1 + module/data/_module.mjs | 3 +- .../item-agenda-ability.mjs} | 3 +- module/data/agenda/item-agenda-task.mjs | 21 +++++++++++++ module/data/agenda/item-agenda.mjs | 30 +++++++++++++++++++ module/sheets/item-sheet.mjs | 13 -------- template.json | 2 +- templates/item/item-agendaTask-sheet.hbs | 15 ++++++++++ 9 files changed, 73 insertions(+), 18 deletions(-) rename module/data/{item-agenda.mjs => agenda/item-agenda-ability.mjs} (97%) create mode 100644 module/data/agenda/item-agenda-task.mjs create mode 100644 module/data/agenda/item-agenda.mjs create mode 100644 templates/item/item-agendaTask-sheet.hbs diff --git a/lang/en.json b/lang/en.json index 0467456..22c069e 100644 --- a/lang/en.json +++ b/lang/en.json @@ -48,7 +48,8 @@ "Item": { "item": "Item", "agenda": "Agenda", - "blasphemy": "Blasphemy" + "blasphemy": "Blasphemy", + "agendaTask": "Agenda Task" } } } diff --git a/module/cain.mjs b/module/cain.mjs index ee8af54..cdf693f 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -54,6 +54,7 @@ Hooks.once('init', function () { item: models.CainItem, agenda: models.CainAgenda, blasphemy: models.CainBlasphemy, + agendaTask: models.CainAgendaTask, } console.log('CAIN | Initializing Cain system'); diff --git a/module/data/_module.mjs b/module/data/_module.mjs index 0d18481..611eba6 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -10,6 +10,7 @@ export {default as CainItem} from "./item-item.mjs"; export {default as CainFeature} from "./item-feature.mjs"; export {default as CainSpell} from "./item-spell.mjs"; export {default as CainSins} from "./item-sins.mjs"; -export {default as CainAgenda} from "./item-agenda.mjs"; +export {default as CainAgenda} from "./agenda/item-agenda.mjs"; +export {default as CainAgendaTask} from "./agenda/item-agenda-task.mjs"; export {default as CainBlasphemy} from "./item-blasphemy.mjs"; diff --git a/module/data/item-agenda.mjs b/module/data/agenda/item-agenda-ability.mjs similarity index 97% rename from module/data/item-agenda.mjs rename to module/data/agenda/item-agenda-ability.mjs index 110d631..2636609 100644 --- a/module/data/item-agenda.mjs +++ b/module/data/agenda/item-agenda-ability.mjs @@ -1,4 +1,4 @@ -import CainItemBase from "./base-item.mjs"; +import CainItemBase from "../base-item.mjs"; export default class CainAgenda extends CainItemBase { static defineSchema() { @@ -30,4 +30,3 @@ export default class CainAgenda extends CainItemBase { } } - diff --git a/module/data/agenda/item-agenda-task.mjs b/module/data/agenda/item-agenda-task.mjs new file mode 100644 index 0000000..8bcfb9d --- /dev/null +++ b/module/data/agenda/item-agenda-task.mjs @@ -0,0 +1,21 @@ +import CainItemBase from "../base-item.mjs"; + +export default class CainAgendaTask extends CainItemBase { + static defineSchema() { + const fields = foundry.data.fields; + const requiredInteger = { required: true, nullable: false, integer: true }; + const schema = super.defineSchema(); + + + schema.task = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); + schema.isBold = new fields.BooleanField({ required: true, nullable: false, initial: false}); + + + schema.formula = new fields.StringField({ blank: true }); + return schema; + } + + get template() { + return `systems/cain/templates/item/agendas/item-agenda-sheet.hbs`; + } +} diff --git a/module/data/agenda/item-agenda.mjs b/module/data/agenda/item-agenda.mjs new file mode 100644 index 0000000..6603173 --- /dev/null +++ b/module/data/agenda/item-agenda.mjs @@ -0,0 +1,30 @@ +import CainItemBase from "../base-item.mjs"; +import CainAgendaTask from "./item-agenda-task.mjs"; + +export default class CainAgenda extends CainItemBase { + static defineSchema() { + const fields = foundry.data.fields; + const requiredInteger = { required: true, nullable: false, integer: true }; + const schema = super.defineSchema(); + + + schema.agendaName = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); + + + schema.formula = new fields.StringField({ blank: true }); + + schema.unboldedTasks = new fields.ArrayField(new fields.EmbeddedDataField(CainAgendaTask)) + schema.boldedTasks = new fields.ArrayField(new fields.EmbeddedDataField(CainAgendaTask)) + + schema.abilities = new fields.ArrayField(new fields.SchemaField({ + name: new fields.StringField({required: false, nullable: true, initial: "New Ability"}), + description: new fields.StringField({required: false, nullable: true, initial: "Ability Description"}) + }), {required: false, nullable: true, initial: [{name: "bonk", description: "hit em good"}]}); + return schema; + } + + get template() { + return `systems/cain/templates/item/agendas/item-agenda-sheet.hbs`; + } +} + diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index f4c58ae..06750e8 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -89,18 +89,5 @@ export class CainItemSheet extends ItemSheet { html.on('click', '.effect-control', (ev) => onManageActiveEffect(ev, this.item) ); - html.find('#newAgendaTask').click(this._onMakeNewTask.bind(this)); } - - _onMakeNewTask(event) { - event.preventDefault(); - console.log(this.object); - console.log(this.object.system); - console.log(this.object.system.primaryTask); - if (this.object.system.primaryTask == null) { - this.object.update({ 'system.primaryTask': {task: "be chill", isBold: false - }}); - } -} - } diff --git a/template.json b/template.json index 8468e3a..21b169e 100644 --- a/template.json +++ b/template.json @@ -3,6 +3,6 @@ "types": ["character", "npc", "mundane"] }, "Item": { - "types": ["item", "agenda", "blasphemy"] + "types": ["item", "agenda", "blasphemy", "agendaTask"] } } diff --git a/templates/item/item-agendaTask-sheet.hbs b/templates/item/item-agendaTask-sheet.hbs new file mode 100644 index 0000000..a3a2539 --- /dev/null +++ b/templates/item/item-agendaTask-sheet.hbs @@ -0,0 +1,15 @@ +
+
+ +
+ + {{! Sheet Tab Navigation }} + {{! Sheet Body }} +
+

+ {{#if this.item.system.isBold}}{{/if}} + {{this.item.system.task}} + {{#if this.item.system.isBold}}{{/if}} +

+
+
\ No newline at end of file From 012dc360512e9d90a0932e37e516117c48549a5e Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 26 Aug 2024 22:04:26 -0500 Subject: [PATCH 008/103] Added developerMode, for future debugging work --- module/cain.mjs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/module/cain.mjs b/module/cain.mjs index 8994dc1..6d214d8 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -104,6 +104,18 @@ Hooks.once('init', function () { } }); + game.settings.register('cain', 'developerMode', { + name: 'Enable Developer Mode', + hint: 'Shows a lot of ugly debug information that allows direct modification of values.', + scope: 'world', + config: true, + type: Boolean, + default: false, + onChange: value => { + ui.players.render(); + } + }); + // Preload Handlebars templates. return preloadHandlebarsTemplates(); }); From 757c4122e51eebb69c2cca1b09ddb15b4fd7c2b9 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 27 Aug 2024 18:44:07 -0500 Subject: [PATCH 009/103] Added initial homebrew window with automatic agenda creation --- assets/homebrew.png | Bin 0 -> 17189 bytes css/cain.css | 124 ++++++++++- lang/en.json | 3 +- module/cain.mjs | 30 ++- module/data/_module.mjs | 1 + module/data/agenda/item-agenda-ability.mjs | 20 +- module/data/agenda/item-agenda-task.mjs | 2 +- module/data/agenda/item-agenda.mjs | 13 +- module/documents/homebrew-window.mjs | 246 +++++++++++++++++++++ module/sheets/actor-sheet.mjs | 23 +- module/sheets/item-sheet.mjs | 43 +++- template.json | 2 +- templates/homebrew-window.hbs | 56 +++++ templates/item/item-agenda-sheet.hbs | 32 ++- 14 files changed, 534 insertions(+), 61 deletions(-) create mode 100644 assets/homebrew.png create mode 100644 module/documents/homebrew-window.mjs create mode 100644 templates/homebrew-window.hbs diff --git a/assets/homebrew.png b/assets/homebrew.png new file mode 100644 index 0000000000000000000000000000000000000000..fb693b0f04761bfd46b40f56a08dd8a29380015c GIT binary patch literal 17189 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 literal 0 HcmV?d00001 diff --git a/css/cain.css b/css/cain.css index 8395239..be8d7a8 100644 --- a/css/cain.css +++ b/css/cain.css @@ -533,10 +533,132 @@ .agenda-background { background-color: #1a1a1a; - box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.5), -10px -10px 0 rgba(0, 0, 0, 0.5), 10px -10px 0 rgba(0, 0, 0, 0.5), -10px 10px 0 rgba(0, 0, 0, 0.5);} + box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.5), -10px -10px 0 rgba(0, 0, 0, 0.5), 10px -10px 0 rgba(0, 0, 0, 0.5), -10px 10px 0 rgba(0, 0, 0, 0.5); +} /* end agenda styles */ +/* homebrew styles */ +.homebrew-size { + font-size: 1.2em; + font-weight: bold; + margin: 0; + padding: 0; + height: 400px; +} + +.homebrew-name { + font-family: "Metal Mania", system-ui; + font-weight: 400; + font-style: normal; + font-weight: bold; + margin: 0; + padding: 0; +} + +/* homebrew Header */ +.homebrew-header { + background-color: #2b2b2b; + border-bottom: 2px solid #444; + padding: 1em; + display: flex; + align-items: center; +} + +.homebrew-header .profile-img { + width: 50px; + height: 50px; + border-radius: 50%; + margin-right: 1em; + border: 2px solid #555; +} + +.homebrew-header .header-fields { + flex-grow: 1; +} + +.homebrew-header .charname input { + font-size: 1.5em; + width: 100%; + background-color: #333; + color: #e0e0e0; + border: 1px solid #555; + padding: 0.5em; + border-radius: 4px; +} + +/* homebrew Tabs */ +.homebrew-tabs { + background-color: #2b2b2b; + border-bottom: 2px solid #444; + display: flex; + justify-content: space-around; + padding: 0.5em 0; +} + +.homebrew-tabs .item { + color: #e0e0e0; + padding: 0.5em 1em; + text-decoration: none; + border-bottom: 2px solid transparent; + transition: border-bottom 0.3s; +} + +.homebrew-tabs .item:hover, +.homebrew-tabs .item.active { + border-bottom: 2px solid #e0e0e0; +} + +/* homebrew Body */ +.homebrew-body { + background-color: #1a1a1a; + padding: 1em; +} + +.homebrew-body .tab { + display: none; +} + +.homebrew-body .tab.active { + display: block; +} + +.homebrew-body .form-group { + margin-bottom: 1em; +} + +.homebrew-body .form-group label { + display: block; + margin-bottom: 0.5em; + font-weight: bold; + color: #e0e0e0; +} + +.homebrew-body .form-group textarea { + width: 100%; + padding: 0.5em; + background-color: #333; + color: #e0e0e0; + border: 1px solid #555; + border-radius: 4px; + min-height: 100px; +} + +.homebrew-text-color { + color: #e0e0e0; +} + +.homebrew-background { + background-color: #1a1a1a; + box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.5), -10px -10px 0 rgba(0, 0, 0, 0.5), 10px -10px 0 rgba(0, 0, 0, 0.5), -10px 10px 0 rgba(0, 0, 0, 0.5); +} + +.homebrew-toggle-bold { + width: 20%; +} +/* end homebrew styles */ + + /* Character Sheet */ .mob-psycho-theme { diff --git a/lang/en.json b/lang/en.json index 22c069e..0919076 100644 --- a/lang/en.json +++ b/lang/en.json @@ -49,7 +49,8 @@ "item": "Item", "agenda": "Agenda", "blasphemy": "Blasphemy", - "agendaTask": "Agenda Task" + "agendaTask": "Agenda Task", + "agendaAbility": "Agenda Ability" } } } diff --git a/module/cain.mjs b/module/cain.mjs index fcfdf20..bfa7e26 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -2,6 +2,7 @@ import { CainActor } from './documents/actor.mjs'; import { CainItem } from './documents/item.mjs'; import { TalismanWindow } from './documents/talisman-window.mjs'; +import { HomebrewWindow } from './documents/homebrew-window.mjs'; // Import sheet classes. import { CainActorSheet } from './sheets/actor-sheet.mjs'; import { CainItemSheet } from './sheets/item-sheet.mjs'; @@ -55,8 +56,9 @@ Hooks.once('init', function () { agenda: models.CainAgenda, blasphemy: models.CainBlasphemy, agendaTask: models.CainAgendaTask, + agendaAbility: models.CainAgendaAbility, } - + console.log('CAIN | Initializing Cain system'); console.log(CONFIG) // Active Effects are never copied to the Actor, @@ -218,6 +220,30 @@ Hooks.once('ready', function () { } } + function addHomebrewButton() { + // Create the button element with the talisman icon + if (!game.user.isGM) return; + const button = $(''); + + // Add click event to open the TalismanWindow + button.on('click', () => { + new HomebrewWindow().render(true); + }); + + // Create an aside element and append the button to it + const aside = $('').append(button); + + // Insert the aside element into the action bar + const actionBar = $('#action-bar'); + if (actionBar.length) { + actionBar.append(aside); + console.log('Homebrew button inserted successfully.'); + } else { + console.error('Action bar not found.'); + } + } + + // Function to create and insert the Risk Roll button function addRiskRollButton() { if (!game.user.isGM) return; @@ -254,6 +280,7 @@ Hooks.once('ready', function () { // Add the Talisman button when the action bar is first ready addTalismanButton(); + addHomebrewButton(); addPlayerOverviewButton(); // Add the Risk Roll and Fate Roll buttons when the action bar is first ready addRiskRollButton(); @@ -262,6 +289,7 @@ Hooks.once('ready', function () { // Ensure the buttons are added every time the action bar is rendered Hooks.on('renderHotbar', () => { addTalismanButton(); + addHomebrewButton(); addRiskRollButton(); addFateRollButton(); }); diff --git a/module/data/_module.mjs b/module/data/_module.mjs index 611eba6..d3f631e 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -12,5 +12,6 @@ export {default as CainSpell} from "./item-spell.mjs"; export {default as CainSins} from "./item-sins.mjs"; export {default as CainAgenda} from "./agenda/item-agenda.mjs"; export {default as CainAgendaTask} from "./agenda/item-agenda-task.mjs"; +export {default as CainAgendaAbility} from "./agenda/item-agenda-ability.mjs"; export {default as CainBlasphemy} from "./item-blasphemy.mjs"; diff --git a/module/data/agenda/item-agenda-ability.mjs b/module/data/agenda/item-agenda-ability.mjs index 2636609..1f514ba 100644 --- a/module/data/agenda/item-agenda-ability.mjs +++ b/module/data/agenda/item-agenda-ability.mjs @@ -1,32 +1,18 @@ import CainItemBase from "../base-item.mjs"; -export default class CainAgenda extends CainItemBase { +export default class CainAgendaAbility extends CainItemBase { static defineSchema() { const fields = foundry.data.fields; const requiredInteger = { required: true, nullable: false, integer: true }; const schema = super.defineSchema(); - schema.agendaName = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); + schema.abilityName = new fields.StringField({ required: true, nullable: false, initial: "New Ability" }); + schema.abilityDescription = new fields.StringField({required: true, nullable: false, initial: "Ability Description"}); schema.formula = new fields.StringField({ blank: true }); - - schema.primaryTask = new fields.SchemaField({ - task: new fields.StringField({required: true, nullable: false, initial: "be chill"}), - isBold: new fields.BooleanField({required: true, nullable: false, initial: true}) - }, {required: false, nullable: true, initial: {task: "be chill", isBold: false}}); - schema.boldedTasks = new fields.ArrayField(new fields.SchemaField({ - task: new fields.StringField({required: true, nullable: false, initial: "be chill"}), - isBold: new fields.BooleanField({required: true, nullable: false, initial: true}) - }), {required: false, nullable: true, initial: [{task: "don't be unchill", isBold: true}]}); - - schema.abilities = new fields.ArrayField(new fields.SchemaField({ - name: new fields.StringField({required: false, nullable: true, initial: "New Ability"}), - description: new fields.StringField({required: false, nullable: true, initial: "Ability Description"}) - }), {required: false, nullable: true, initial: [{name: "bonk", description: "hit em good"}]}); return schema; } - } diff --git a/module/data/agenda/item-agenda-task.mjs b/module/data/agenda/item-agenda-task.mjs index 8bcfb9d..afd1058 100644 --- a/module/data/agenda/item-agenda-task.mjs +++ b/module/data/agenda/item-agenda-task.mjs @@ -7,7 +7,7 @@ export default class CainAgendaTask extends CainItemBase { const schema = super.defineSchema(); - schema.task = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); + schema.task = new fields.StringField({ required: true, nullable: false, initial: "New Task" }); schema.isBold = new fields.BooleanField({ required: true, nullable: false, initial: false}); diff --git a/module/data/agenda/item-agenda.mjs b/module/data/agenda/item-agenda.mjs index 6603173..3424116 100644 --- a/module/data/agenda/item-agenda.mjs +++ b/module/data/agenda/item-agenda.mjs @@ -13,18 +13,11 @@ export default class CainAgenda extends CainItemBase { schema.formula = new fields.StringField({ blank: true }); - schema.unboldedTasks = new fields.ArrayField(new fields.EmbeddedDataField(CainAgendaTask)) - schema.boldedTasks = new fields.ArrayField(new fields.EmbeddedDataField(CainAgendaTask)) + schema.unboldedTasks = new fields.ArrayField(new fields.StringField()) + schema.boldedTasks = new fields.ArrayField(new fields.StringField()) - schema.abilities = new fields.ArrayField(new fields.SchemaField({ - name: new fields.StringField({required: false, nullable: true, initial: "New Ability"}), - description: new fields.StringField({required: false, nullable: true, initial: "Ability Description"}) - }), {required: false, nullable: true, initial: [{name: "bonk", description: "hit em good"}]}); + schema.abilities = new fields.ArrayField(new fields.StringField()); return schema; } - - get template() { - return `systems/cain/templates/item/agendas/item-agenda-sheet.hbs`; - } } diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs new file mode 100644 index 0000000..1e714a9 --- /dev/null +++ b/module/documents/homebrew-window.mjs @@ -0,0 +1,246 @@ +import { CainAgenda, CainAgendaTask, CainAgendaAbility } from "../data/_module.mjs"; + +export class HomebrewWindow extends Application { + agendaOptions = { + name: "New Agenda", + tasks: [{ + task: "Primary Task", + isBold: false + }, + { + task: "Secondary Task", + isBold: true + }], + abilities: [{ + name: "Ability 1", + ability: "Ability Description" + }, + { + name: "Ability 2", + ability: "Ability Description" + }, + { + name: "Ability 3", + ability: "Ability Description" + }, + { + name: "Ability 4", + ability: "Ability Description" + }, + { + name: "Ability 5", + ability: "Ability Description" + }, + { + name: "Ability 6", + ability: "Ability Description" + }, + ] + } + static get defaultOptions() { + return mergeObject(super.defaultOptions, { + id: 'homebrew-window', + title: 'Create Homebrew', + template: 'systems/cain/templates/homebrew-window.hbs', + width: 1000, + height: 1000, + resizable: true, + tabs: [ + { + navSelector: '.sheet-tabs', + contentSelector: '.sheet-body', + initial: 'description', + }, + ], + }); + } + + getData() { + return { + agendaOptions: this.agendaOptions + } + } + + activateListeners(html) { + super.activateListeners(html); + html.find('.homebrew-agenda-name-input').change(this._onChangeAgendaName.bind(this)); + html.find('.homebrew-toggle-bold').click(this._onToggleBold.bind(this)); + html.find('.homebrew-new-task').click(this._onCreateNewTask.bind(this)); + html.find('.homebrew-task-input').change(this._onChangeTaskName.bind(this)); + html.find('.homebrew-remove-task').click(this._onRemoveTask.bind(this)); + html.find('.homebrew-new-ability').click(this._onCreateNewAbility.bind(this)); + html.find('.homebrew-ability-name-input').change(this._onChangeAbilityName.bind(this)); + html.find('.homebrew-ability-input').change(this._onChangeAbilityDescription.bind(this)); + html.find('.homebrew-remove-ability').click(this._onRemoveAbility.bind(this)); + html.find('.homebrew-submit-agenda').click(this._onSubmitAgenda.bind(this)); + + + } + + _onCreateNewTask(event) { + event.preventDefault(); + this.agendaOptions.tasks.push({ + task: "New Task", + isBold: true + }); + this.render(true); + } + + _onCreateNewAbility(event) { + event.preventDefault(); + this.agendaOptions.abilities.push({ + name: "New Ability", + ability: "Ability Description" + }); + this.render(true); + } + + _onRemoveTask(event) { + event.preventDefault(); + const taskIndex = event.currentTarget.getAttribute('data-task-index'); + const newTasks = this.agendaOptions.tasks.slice(0, taskIndex).concat(this.agendaOptions.tasks.slice(taskIndex+1)); + this.agendaOptions.tasks = newTasks; + this.render(true); + } + + _onRemoveAbility(event) { + event.preventDefault(); + const abilityIndex = event.currentTarget.getAttribute('data-ability-index'); + const newAbilities = this.agendaOptions.abilities.slice(0, abilityIndex).concat(this.agendaOptions.abilities.slice(abilityIndex+1)); + this.agendaOptions.abilities = newAbilities; + this.render(true); + } + + _onChangeAgendaName(event) { + event.preventDefault(); + this.agendaOptions.name = event.currentTarget.value; + this.render(true); + } + + + _onChangeTaskName(event) { + event.preventDefault(); + const taskIndex = event.currentTarget.getAttribute('data-task-index'); + this.agendaOptions.tasks[taskIndex].task = event.currentTarget.value; + this.render(true); + } + + _onChangeAbilityName(event) { + event.preventDefault(); + const abilityIndex = event.currentTarget.getAttribute('data-ability-index'); + this.agendaOptions.abilities[abilityIndex].name = event.currentTarget.value; + this.render(true); + } + + _onChangeAbilityDescription(event) { + event.preventDefault(); + const abilityIndex = event.currentTarget.getAttribute('data-ability-index'); + this.agendaOptions.abilities[abilityIndex].ability = event.currentTarget.value; + this.render(true); + } + + _onToggleBold(event) { + event.preventDefault(); + const taskIndex = event.currentTarget.getAttribute('data-task-index'); + this.agendaOptions.tasks[taskIndex].isBold = !this.agendaOptions.tasks[taskIndex].isBold; + this.render(true); + } + + async _onSubmitAgenda(event) { + event.preventDefault(); + let agendaFolderFolder = game.folders.find(f => f.name === "Agenda Data" && f.type === "Item"); + if (!agendaFolderFolder) { + agendaFolderFolder = await Folder.create({ + name: "Agenda Data", + type: "Item", + folder: null, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let agendaFolder = game.folders.find(f => f.name === "Agendas" && f.type === "Item"); + if (!agendaFolder) { + agendaFolder = await Folder.create({ + name: "Agendas", + type: "Item", + folder: agendaFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let agendaTaskFolder = game.folders.find(f => f.name === "Agenda Tasks" && f.type === "Item"); + if (!agendaTaskFolder) { + agendaTaskFolder = await Folder.create({ + name: "Agenda Tasks", + type: "Item", + folder: agendaFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let agendaAbilityFolder = game.folders.find(f => f.name === "Agenda Abilities" && f.type === "Item"); + if (!agendaAbilityFolder) { + agendaAbilityFolder = await Folder.create({ + name: "Agenda Abilities", + type: "Item", + folder: agendaFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + const unboldedTaskList = []; + const boldedTaskList = []; + const abilityList = []; + for (const index in this.agendaOptions.tasks) { + const task = this.agendaOptions.tasks[index]; + const createdTaskData = { + name: task.task, + type: "agendaTask", // Ensure this matches the item type defined in your game system + img: "icons/svg/item-bag.svg", + folder: agendaTaskFolder.id, // Assign the item to the folder + system: { + task: task.task, + isBold: task.isBold + } + }; + const createdTask = await Item.create(createdTaskData); + if (createdTask.system.isBold) { + boldedTaskList.push(createdTask.id); + } else { + unboldedTaskList.push(createdTask.id); + } + } + for (const index in this.agendaOptions.abilities) { + const ability = this.agendaOptions.abilities[index]; + const createdAbilityData = { + name: ability.name, + type: "agendaAbility", // Ensure this matches the item type defined in your game system + img: "icons/svg/item-bag.svg", + folder: agendaAbilityFolder.id, // Assign the item to the folder + system: { + abilityName: ability.name, + abilityDescription: ability.description + } + }; + const createdAbility = await Item.create(createdAbilityData); + abilityList.push(createdAbility.id); + console.log(createdAbility); + } + const createdAgendaData = { + name: this.agendaOptions.name, + type: "agenda", + img: "icons/svg/item-bag.svg", + folder: agendaFolder.id, // Assign the item to the folder + system: { + agendaName: this.agendaOptions.name, + formula: "", + unboldedTasks: unboldedTaskList, + boldedTasks: boldedTaskList, + abilities: abilityList + } + }; + console.log(createdAgendaData); + const createdAgenda = await Item.create(createdAgendaData); + console.log(createdAgenda); + } +} diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 4e9ef53..db950c6 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -160,13 +160,7 @@ export class CainActorSheet extends ActorSheet { let value = 0; checkboxes.each((index, cb) => { - if (cb == event.currentTarget) { - if (cb.checked) { - value = index + 1 - } else { - value = index - } - } + if (cb.checked) value = index + 1; }); // Update the corresponding field value @@ -180,7 +174,6 @@ export class CainActorSheet extends ActorSheet { html.find('.psyche-burst-checkbox').change(this._onPsycheBurstChange.bind(this)); html.find('.kit-points-checkbox').change(this._onKitPointsChange.bind(this)); html.find('.clear-sin-marks').click(this._clearSinMarks.bind(this)); - html.find('#increment-xp-value').click(this._increaseXPValue.bind(this)); html.find('.delete-sin-mark').click(this._deleteSinMark.bind(this)); html.find('.roll-sin-mark').click(this._rollSinMark.bind(this)); html.find('.talisman-name').change(this._onInputChange.bind(this)); @@ -221,20 +214,6 @@ export class CainActorSheet extends ActorSheet { } - _increaseXPValue(event) { - event.preventDefault(); - const oldXPValue = this.actor.system.xp.value; - const newXPValue = oldXPValue + 1; - if (newXPValue >= this.actor.system.xp.max) { - this.actor.update({ 'system.xp.value': 0}); - const newAdvanceValue = this.actor.system.advancements.value + 1 - this.actor.update({ 'system.advancements.value': newAdvanceValue}); - } else { - this.actor.update({ 'system.xp.value': newXPValue}); - console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); - } - } - _boldAgendaItem(event) { event.preventDefault(); const index = event.currentTarget.getAttribute('data-index'); diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index 06750e8..f42f002 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -61,6 +61,26 @@ export class CainItemSheet extends ItemSheet { } ); + if (this.item.type === "agenda") { + context.agendaBoldedTaskData = this.item.system.boldedTasks.map(item => {return game.items.get(item);}); + context.agendaUnboldedTaskData = this.item.system.unboldedTasks.map(item => {return game.items.get(item);}); + context.agendaAbilityData = this.item.system.abilities.map(item => {return game.items.get(item);}); + console.log(this.item.system.abilities); + console.log(context.agendaAbilityData); + context.agenda_tasks = game.items.contents.map(item => { if (item.type === "agendaTask") + return { + id: item.id, + name: item.name + }; return {name: "INVALID"}; + }).filter(item => item.name !== "INVALID"); + context.agenda_abilities = game.items.contents.map(item => { if (item.type === "agendaAbility") + return { + id: item.id, + name: item.name + };; return {name: "INVALID"}; + }).filter(item => item.name !== "INVALID"); + } + context.developerMode = game.settings.get('cain', 'developerMode'); // Add the item's data to context.data for easier access, as well as flags. context.system = itemData.system; context.flags = itemData.flags; @@ -70,7 +90,6 @@ export class CainItemSheet extends ItemSheet { // Prepare active effects for easier access context.effects = prepareActiveEffectCategories(this.item.effects); - return context; } @@ -89,5 +108,27 @@ export class CainItemSheet extends ItemSheet { html.on('click', '.effect-control', (ev) => onManageActiveEffect(ev, this.item) ); + + html.find('#addTaskToAgenda').click(this._addTaskToAgenda.bind(this)); + } + + _addTaskToAgenda(event) { + let value = event.currentTarget.parentElement.parentElement.querySelector('#selectedItem').value + + const unboldedTasks = this.item.system.unboldedTasks || []; + const boldedTasks = this.item.system.unboldedTasks || []; + console.log(unboldedTasks); + console.log(boldedTasks); + const newTask = value; + const newTaskItem = game.items.get(newTask); + if (newTaskItem.system.isBold) { + boldedTasks.push(newTask); + this.item.update({'system.boldedTasks': boldedTasks}); + } else { + unboldedTasks.push(newTask); + this.item.update({'system.unboldedTasks': unboldedTasks}); + } + console.log(newTask) + console.log(this.item.system); } } diff --git a/template.json b/template.json index 21b169e..1d39c46 100644 --- a/template.json +++ b/template.json @@ -3,6 +3,6 @@ "types": ["character", "npc", "mundane"] }, "Item": { - "types": ["item", "agenda", "blasphemy", "agendaTask"] + "types": ["item", "agenda", "blasphemy", "agendaTask", "agendaAbility"] } } diff --git a/templates/homebrew-window.hbs b/templates/homebrew-window.hbs new file mode 100644 index 0000000..80c703e --- /dev/null +++ b/templates/homebrew-window.hbs @@ -0,0 +1,56 @@ +
+
+
+ + {{! Sheet Tab Navigation }} + + + {{! Sheet Body }} +
+
+ {{!-- {{#each agendaOptions.tasks}} +
  • {{#if this.isBold}}{{/if}}{{this.task}}{{#if this.isBold}}{{/if}}
  • + {{/each}} --}} + +
      + {{#each agendaOptions.tasks}} +
    • + + +
    • + {{/each}} +
    + +
      + {{#each agendaOptions.abilities}} +
    • + + +
      + + + +
      +
    • + {{/each}} +
    + +
    +
    +
    +
      +
    +
    + +
    +
    \ No newline at end of file diff --git a/templates/item/item-agenda-sheet.hbs b/templates/item/item-agenda-sheet.hbs index 0603c1a..3d6c1c3 100644 --- a/templates/item/item-agenda-sheet.hbs +++ b/templates/item/item-agenda-sheet.hbs @@ -26,20 +26,40 @@
      -
    • {{item.system.primaryTask.task}}
    • - {{#each item.system.boldedTasks}} -
    • - {{this.task}} + {{#each agendaUnboldedTaskData}} +
    • + {{this.system.task}} +
    • + {{/each}} + {{#each agendaBoldedTaskData}} +
    • + {{this.system.task}}
    • {{/each}}
    + {{#if developerMode}} +
    +
    + + +
    +
    + +
    +
    + + {{/if}}
    {{! Abilities Tab }}
      - {{#each item.system.abilities}} -
    • {{this.name}}: {{this.description}}
    • + {{#each agendaAbilityData}} +
    • {{this.system.abilityName}}: {{this.system.abilityDescription}}
    • {{/each}}
    From 17ede854d1454f86a1d8c0a87ce33f29f1d018ec Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 27 Aug 2024 23:26:31 -0500 Subject: [PATCH 010/103] Updated Homebrew to allow for creation of blasphemies using the new Schema --- lang/en.json | 1 + module/cain.mjs | 6 +- module/data/_module.mjs | 3 +- .../data/blasphemy/item-blasphemy-power.mjs | 18 + module/data/blasphemy/item-blasphemy.mjs | 16 + module/data/item-blasphemy.mjs | 20 - module/documents/homebrew-window.mjs | 175 +++++++- module/helpers/templates.mjs | 1 - module/sheets/item-sheet.mjs | 4 + template.json | 2 +- templates/homebrew-window.hbs | 23 +- templates/item/item-blasphemy-sheet.hbs | 87 +--- templates/item/item-blasphemyPower-sheet.hbs | 397 ++++++++++++++++++ .../item/parts/item-blasphemy-power-sheet.hbs | 26 ++ 14 files changed, 678 insertions(+), 101 deletions(-) create mode 100644 module/data/blasphemy/item-blasphemy-power.mjs create mode 100644 module/data/blasphemy/item-blasphemy.mjs delete mode 100644 module/data/item-blasphemy.mjs create mode 100644 templates/item/item-blasphemyPower-sheet.hbs create mode 100644 templates/item/parts/item-blasphemy-power-sheet.hbs diff --git a/lang/en.json b/lang/en.json index 0919076..acbb55d 100644 --- a/lang/en.json +++ b/lang/en.json @@ -49,6 +49,7 @@ "item": "Item", "agenda": "Agenda", "blasphemy": "Blasphemy", + "blasphemyPower": "Blasphemy Power", "agendaTask": "Agenda Task", "agendaAbility": "Agenda Ability" } diff --git a/module/cain.mjs b/module/cain.mjs index bfa7e26..861ba62 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -18,7 +18,7 @@ import * as models from './data/_module.mjs'; /* Init Hook */ /* -------------------------------------------- */ -Hooks.once('init', function () { +Hooks.once('init', async function () { // Add utility classes to the global game object so that they're more easily // accessible in global contexts. game.cain = { @@ -55,6 +55,7 @@ Hooks.once('init', function () { item: models.CainItem, agenda: models.CainAgenda, blasphemy: models.CainBlasphemy, + blasphemyPower: models.CainBlasphemyPower, agendaTask: models.CainAgendaTask, agendaAbility: models.CainAgendaAbility, } @@ -119,6 +120,9 @@ Hooks.once('init', function () { } }); + const blasphemyPowerTemplate = await getTemplate("systems/cain/templates/item/parts/item-blasphemy-power-sheet.hbs"); + Handlebars.registerPartial("blasphemyPower", blasphemyPowerTemplate); + // Preload Handlebars templates. return preloadHandlebarsTemplates(); }); diff --git a/module/data/_module.mjs b/module/data/_module.mjs index d3f631e..bd939e4 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -13,5 +13,6 @@ export {default as CainSins} from "./item-sins.mjs"; export {default as CainAgenda} from "./agenda/item-agenda.mjs"; export {default as CainAgendaTask} from "./agenda/item-agenda-task.mjs"; export {default as CainAgendaAbility} from "./agenda/item-agenda-ability.mjs"; -export {default as CainBlasphemy} from "./item-blasphemy.mjs"; +export {default as CainBlasphemy} from "./blasphemy/item-blasphemy.mjs"; +export {default as CainBlasphemyPower} from "./blasphemy/item-blasphemy-power.mjs"; diff --git a/module/data/blasphemy/item-blasphemy-power.mjs b/module/data/blasphemy/item-blasphemy-power.mjs new file mode 100644 index 0000000..2827214 --- /dev/null +++ b/module/data/blasphemy/item-blasphemy-power.mjs @@ -0,0 +1,18 @@ +import CainItemBase from "../base-item.mjs"; + +export default class CainBlasphemyPower extends CainItemBase { + static defineSchema() { + const fields = foundry.data.fields; + const requiredInteger = { required: true, nullable: false, integer: true }; + const schema = super.defineSchema(); + + + schema.blasphemyType = new fields.StringField({ required: true, nullable: false, initial: "New Blasphemy" }); + schema.powerName = new fields.StringField({ required: true, nullable: false, initial: "Blasphemy Power Name" }); + schema.isPassive = new fields.BooleanField({ required: true, nullable: false, initial: false }); + schema.keywords = new fields.ArrayField(new fields.StringField(), { required: true, nullable: false, initial: [] }); + schema.powerDescription = new fields.StringField({ required: true, nullable: false, initial: "default" }); + + return schema; + } +} \ No newline at end of file diff --git a/module/data/blasphemy/item-blasphemy.mjs b/module/data/blasphemy/item-blasphemy.mjs new file mode 100644 index 0000000..e1cf724 --- /dev/null +++ b/module/data/blasphemy/item-blasphemy.mjs @@ -0,0 +1,16 @@ +import CainItemBase from "../base-item.mjs"; + +export default class CainBlasphemy extends CainItemBase { + static defineSchema() { + const fields = foundry.data.fields; + const requiredInteger = { required: true, nullable: false, integer: true }; + const schema = super.defineSchema(); + + + schema.name = new fields.StringField({ required: true, nullable: false, initial: "default" }); + schema.powers = new fields.ArrayField(new fields.StringField(), {required: true, nullable: false, initial: []}); + + + return schema; + } +} \ No newline at end of file diff --git a/module/data/item-blasphemy.mjs b/module/data/item-blasphemy.mjs deleted file mode 100644 index e01f3c3..0000000 --- a/module/data/item-blasphemy.mjs +++ /dev/null @@ -1,20 +0,0 @@ -import CainItemBase from "./base-item.mjs"; - -export default class CainBlasphemy extends CainItemBase { - static defineSchema() { - const fields = foundry.data.fields; - const requiredInteger = { required: true, nullable: false, integer: true }; - const schema = super.defineSchema(); - - - schema.classType = new fields.StringField({ required: true, nullable: false, initial: "default" }); - schema.isPassive = new fields.BooleanField({ required: true, nullable: false, initial: false }); - schema.keywords = new fields.StringField({ required: true, nullable: false, initial: "" }); - - - return schema; - } - - prepareDerivedData() { - } -} \ No newline at end of file diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs index 1e714a9..502bb87 100644 --- a/module/documents/homebrew-window.mjs +++ b/module/documents/homebrew-window.mjs @@ -1,4 +1,5 @@ import { CainAgenda, CainAgendaTask, CainAgendaAbility } from "../data/_module.mjs"; +import { CainBlasphemy, CainBlasphemyPower } from "../data/_module.mjs"; export class HomebrewWindow extends Application { agendaOptions = { @@ -37,6 +38,53 @@ export class HomebrewWindow extends Application { }, ] } + + blasphemyOptions = { + name: "New Blasphemy", + powers: [{ + name: "Power 1", + isPassive: true, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 2", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 3", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 4", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 5", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 6", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }, + { + name: "Power 7", + isPassive: false, + keywords: "default", + powerDescription: "Power Description" + }] + } + static get defaultOptions() { return mergeObject(super.defaultOptions, { id: 'homebrew-window', @@ -57,7 +105,8 @@ export class HomebrewWindow extends Application { getData() { return { - agendaOptions: this.agendaOptions + agendaOptions: this.agendaOptions, + blasphemyOptions: this.blasphemyOptions } } @@ -74,9 +123,133 @@ export class HomebrewWindow extends Application { html.find('.homebrew-remove-ability').click(this._onRemoveAbility.bind(this)); html.find('.homebrew-submit-agenda').click(this._onSubmitAgenda.bind(this)); + + html.find('.homebrew-blasphemy-name-input').change(this._onChangeBlasphemyName.bind(this)); + html.find('.homebrew-new-ability').click(this._onCreateNewPower.bind(this)); + html.find('.homebrew-power-name-input').change(this._onChangePowerName.bind(this)); + html.find('.homebrew-power-tags-input').change(this._onChangePowerTags.bind(this)); + html.find('.homebrew-power-input').change(this._onChangePowerDescription.bind(this)); + html.find('.homebrew-remove-power').click(this._onRemovePower.bind(this)); + html.find('.homebrew-submit-blasphemy').click(this._onSubmitBlasphemy.bind(this)); + } + + _onCreateNewPower(event) { + event.preventDefault(); + this.blasphemyOptions.powers.push({ + name: "New Power", + isPassive: false, + keywords: "default", + power: "Ability Description" + }); + this.render(true); + } + + _onRemovePower(event) { + event.preventDefault(); + const powerIndex = event.currentTarget.getAttribute('data-power-index'); + const newPowers = this.blasphemyOptions.powers.slice(0, powerIndex).concat(this.blasphemyOptions.powers.slice(powerIndex+1)); + this.blasphemyOptions.powers = newPowers; + this.render(true); + } + + _onChangeBlasphemyName(event) { + event.preventDefault(); + this.blasphemyOptions.name = event.currentTarget.value; + this.render(true); + } + + _onChangePowerName(event) { + event.preventDefault(); + const powerIndex = event.currentTarget.getAttribute('data-power-index'); + this.blasphemyOptions.powers[powerIndex].name = event.currentTarget.value; + this.render(true); + } + + _onChangePowerDescription(event) { + event.preventDefault(); + const powerIndex = event.currentTarget.getAttribute('data-power-index'); + this.blasphemyOptions.powers[powerIndex].powerDescription = event.currentTarget.value; + this.render(true); + } + + _onChangePowerTags(event) { + event.preventDefault(); + const powerIndex = event.currentTarget.getAttribute('data-power-index'); + this.blasphemyOptions.powers[powerIndex].keywords = event.currentTarget.value; + this.render(true); + } + + + async _onSubmitBlasphemy(event) { + event.preventDefault(); + let blasphemyFolderFolder = game.folders.find(f => f.name === "Blasphemy Data" && f.type === "Item"); + if (!blasphemyFolderFolder) { + blasphemyFolderFolder = await Folder.create({ + name: "Blasphemy Data", + type: "Item", + folder: null, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let blasphemyFolder = game.folders.find(f => f.name === "Blasphemies" && f.type === "Item"); + if (!blasphemyFolder) { + blasphemyFolder = await Folder.create({ + name: "Blasphemies", + type: "Item", + folder: blasphemyFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let blasphemyPowerFolder = game.folders.find(f => f.name === "Blasphemy Powers" && f.type === "Item"); + if (!blasphemyPowerFolder) { + blasphemyPowerFolder = await Folder.create({ + name: "Blasphemy Powers", + type: "Item", + folder: blasphemyFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + const powerList = []; + for (const index in this.blasphemyOptions.powers) { + const power = this.blasphemyOptions.powers[index]; + const createdPowerData = { + name: power.name, + type: "blasphemyPower", // Ensure this matches the item type defined in your game system + img: "icons/svg/item-bag.svg", + folder: blasphemyPowerFolder.id, // Assign the item to the folder + system: { + blasphemyType: this.blasphemyOptions.name, + powerName: power.name, + isPassive: power.isPassive, + keywords: power.keywords, + powerDescription: power.powerDescription + } + }; + const createdPower = await Item.create(createdPowerData); + powerList.push(createdPower.id); + console.log(createdPower); + } + const createdBlasphemyData = { + name: this.blasphemyOptions.name, + type: "blasphemy", + img: "icons/svg/item-bag.svg", + folder: blasphemyFolder.id, // Assign the item to the folder + system: { + agendaName: this.blasphemyOptions.name, + powers: powerList, + } + }; + console.log(createdBlasphemyData); + const createdBlasphemy = await Item.create(createdBlasphemyData); + console.log(createdBlasphemy); + } + _onCreateNewTask(event) { event.preventDefault(); this.agendaOptions.tasks.push({ diff --git a/module/helpers/templates.mjs b/module/helpers/templates.mjs index 4de7adc..5695033 100644 --- a/module/helpers/templates.mjs +++ b/module/helpers/templates.mjs @@ -26,6 +26,5 @@ export const preloadHandlebarsTemplates = async function () { 'systems/cain/templates/actor/npc-parts/actor-domains.hbs', // Item partials 'systems/cain/templates/item/parts/item-effects.hbs', - ]); }; diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index f42f002..85c9e3a 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -80,6 +80,10 @@ export class CainItemSheet extends ItemSheet { };; return {name: "INVALID"}; }).filter(item => item.name !== "INVALID"); } + if (this.item.type === "blasphemy") { + context.blasphemyPassives = this.item.system.powers.map(item => {return game.items.get(item);}).filter(item => {return item.system.isPassive}); + context.blasphemyPowers = this.item.system.powers.map(item => {return game.items.get(item);}).filter(item => {return !item.system.isPassive}); + } context.developerMode = game.settings.get('cain', 'developerMode'); // Add the item's data to context.data for easier access, as well as flags. context.system = itemData.system; diff --git a/template.json b/template.json index 1d39c46..d1eade6 100644 --- a/template.json +++ b/template.json @@ -3,6 +3,6 @@ "types": ["character", "npc", "mundane"] }, "Item": { - "types": ["item", "agenda", "blasphemy", "agendaTask", "agendaAbility"] + "types": ["item", "agenda", "blasphemy", "blasphemyPower", "agendaTask", "agendaAbility"] } } diff --git a/templates/homebrew-window.hbs b/templates/homebrew-window.hbs index 80c703e..07712de 100644 --- a/templates/homebrew-window.hbs +++ b/templates/homebrew-window.hbs @@ -48,8 +48,27 @@
    -
      -
    + {{!-- {{#each agendaOptions.tasks}} +
  • {{#if this.isBold}}{{/if}}{{this.task}}{{#if this.isBold}}{{/if}}
  • + {{/each}} --}} + +
      + {{#each blasphemyOptions.powers}} +
    • + + + + +
      + + + +
      +
    • + {{/each}} +
    + +
    diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index a31f6af..205be81 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -3,93 +3,30 @@

    -
    - - -
    -
    - - -
    -
    - - -
    {{!-- Sheet Tab Navigation --}} {{!-- Sheet Body --}} {{! Sheet Body }}
    - {{! Description Tab }} -
    - {{! Editors must receive enriched text data from getData to properly handle rolls }} - {{editor - enrichedDescription - target='system.description' - engine='prosemirror' - button=true - editable=editable - }} +
    + {{#each blasphemyPassives}} + {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} + {{/each}}
    - {{! Attributes Tab }} -
    +
    {{! As you add new fields, add them in here! }} -
    - - {{system.formula}} -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    + {{#each blasphemyPowers}} + {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} + {{/each}}
    @@ -99,7 +36,9 @@ /* Default Theme */ .form-blasphemy { border-radius: 10px; - box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.5), -10px -10px 0 rgba(0, 0, 0, 0.5), 10px -10px 0 rgba(0, 0, 0, 0.5), -10px 10px 0 rgba(0, 0, 0, 0.5); + border: 2px solid #333; + padding: 10px; + gap: 10px; font-family: 'Courier New', monospace; } diff --git a/templates/item/item-blasphemyPower-sheet.hbs b/templates/item/item-blasphemyPower-sheet.hbs new file mode 100644 index 0000000..214fc02 --- /dev/null +++ b/templates/item/item-blasphemyPower-sheet.hbs @@ -0,0 +1,397 @@ +
    +
    + +
    +

    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + + {{!-- Sheet Tab Navigation --}} + + + {{!-- Sheet Body --}} + {{! Sheet Body }} +
    + + {{! Description Tab }} +
    + {{! Editors must receive enriched text data from getData to properly handle rolls }} + {{editor + enrichedDescription + target='system.description' + engine='prosemirror' + button=true + editable=editable + }} +
    + + {{! Attributes Tab }} +
    + {{! As you add new fields, add them in here! }} +
    + + {{system.formula}} +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    + +
    + + \ No newline at end of file diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs new file mode 100644 index 0000000..db9a347 --- /dev/null +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -0,0 +1,26 @@ +
    +
    + +
    +

    +
    + + + +
    +
    + + +
    +
    + + +
    +
    +
    + + {{!-- Sheet Body --}} +
    + {{system.powerDescription}} +
    +
    \ No newline at end of file From 393468327c91603bb2f2c2225545a99ed536e74c Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 00:01:46 -0500 Subject: [PATCH 011/103] Fixed naming inconsistencies --- module/documents/homebrew-window.mjs | 22 +++++++++++----------- templates/homebrew-window.hbs | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs index 502bb87..8fe3b67 100644 --- a/module/documents/homebrew-window.mjs +++ b/module/documents/homebrew-window.mjs @@ -14,27 +14,27 @@ export class HomebrewWindow extends Application { }], abilities: [{ name: "Ability 1", - ability: "Ability Description" + abilityDescription: "Ability Description" }, { name: "Ability 2", - ability: "Ability Description" + abilityDescription: "Ability Description" }, { name: "Ability 3", - ability: "Ability Description" + abilityDescription: "Ability Description" }, { name: "Ability 4", - ability: "Ability Description" + abilityDescription: "Ability Description" }, { name: "Ability 5", - ability: "Ability Description" + abilityDescription: "Ability Description" }, { name: "Ability 6", - ability: "Ability Description" + abilityDescription: "Ability Description" }, ] } @@ -150,7 +150,7 @@ export class HomebrewWindow extends Application { _onRemovePower(event) { event.preventDefault(); const powerIndex = event.currentTarget.getAttribute('data-power-index'); - const newPowers = this.blasphemyOptions.powers.slice(0, powerIndex).concat(this.blasphemyOptions.powers.slice(powerIndex+1)); + const newPowers = this.blasphemyOptions.powers.slice(0, powerIndex).concat(this.blasphemyOptions.powers.slice(Number(powerIndex)+1)); this.blasphemyOptions.powers = newPowers; this.render(true); } @@ -271,7 +271,7 @@ export class HomebrewWindow extends Application { _onRemoveTask(event) { event.preventDefault(); const taskIndex = event.currentTarget.getAttribute('data-task-index'); - const newTasks = this.agendaOptions.tasks.slice(0, taskIndex).concat(this.agendaOptions.tasks.slice(taskIndex+1)); + const newTasks = this.agendaOptions.tasks.slice(0, taskIndex).concat(this.agendaOptions.tasks.slice(Number(taskIndex)+1)); this.agendaOptions.tasks = newTasks; this.render(true); } @@ -279,7 +279,7 @@ export class HomebrewWindow extends Application { _onRemoveAbility(event) { event.preventDefault(); const abilityIndex = event.currentTarget.getAttribute('data-ability-index'); - const newAbilities = this.agendaOptions.abilities.slice(0, abilityIndex).concat(this.agendaOptions.abilities.slice(abilityIndex+1)); + const newAbilities = this.agendaOptions.abilities.slice(0, abilityIndex).concat(this.agendaOptions.abilities.slice(Number(abilityIndex)+1)); this.agendaOptions.abilities = newAbilities; this.render(true); } @@ -308,7 +308,7 @@ export class HomebrewWindow extends Application { _onChangeAbilityDescription(event) { event.preventDefault(); const abilityIndex = event.currentTarget.getAttribute('data-ability-index'); - this.agendaOptions.abilities[abilityIndex].ability = event.currentTarget.value; + this.agendaOptions.abilities[abilityIndex].abilityDescription = event.currentTarget.value; this.render(true); } @@ -392,7 +392,7 @@ export class HomebrewWindow extends Application { folder: agendaAbilityFolder.id, // Assign the item to the folder system: { abilityName: ability.name, - abilityDescription: ability.description + abilityDescription: ability.abilityDescription } }; const createdAbility = await Item.create(createdAbilityData); diff --git a/templates/homebrew-window.hbs b/templates/homebrew-window.hbs index 07712de..98c798f 100644 --- a/templates/homebrew-window.hbs +++ b/templates/homebrew-window.hbs @@ -35,9 +35,9 @@ {{#each agendaOptions.abilities}}
  • - + From e33be3e3af10748a97b80c1c2b9d0826564d4ee9 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 02:36:35 -0500 Subject: [PATCH 012/103] Added dragability for new Agendas, currently overwrites existing unbolded task but leaves all bolded tasks TODO: Abilities/Blasphemies --- module/data/actor-character.mjs | 18 ++--- module/sheets/actor-sheet.mjs | 60 ++++++++++++-- templates/actor/parts/actor-abilities.hbs | 97 +++++++---------------- 3 files changed, 91 insertions(+), 84 deletions(-) diff --git a/module/data/actor-character.mjs b/module/data/actor-character.mjs index bddacd5..55eb518 100644 --- a/module/data/actor-character.mjs +++ b/module/data/actor-character.mjs @@ -108,16 +108,14 @@ export default class CainCharacter extends CainActorBase { schema.restDiceModifier = new fields.NumberField({ required: true, initial: 0, min: -3, max: 3 }); - schema.currentAgendaItems = new fields.ArrayField(new fields.SchemaField({ - text: new fields.StringField({ required: true, initial: " " }), - isBold: new fields.BooleanField({ required: true, initial: false }) - }), { required: true, initial: [] }); - - schema.currentAgendaAbilities = new fields.ArrayField(new fields.SchemaField({ - text: new fields.StringField({ required: true, initial: " " }), - isBold: new fields.BooleanField({ required: true, initial: false }) - }), { required: true, initial: [] }); - + schema.currentBoldedAgendaTasks = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.currentUnboldedAgendaTasks = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.currentAgendaAbilities = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.currentAgenda = new fields.StringField({required: true, nullable: false, initial: "INVALID"}); + + schema.currentBlasphemies = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.currentBlasphemyPowers = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + return schema; } diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index db950c6..e4f35d3 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -78,20 +78,32 @@ export class CainActorSheet extends ActorSheet { const agendas = []; const blasphemies = []; + const agendaID = context.system.currentAgenda; + context.currentAgenda = null; + context.currentUnboldedAgendaTasks = []; + context.currentBoldedAgendaTasks = []; + context.currentAgendaAbilities = []; + if (agendaID !== "INVALID") context.currentAgenda = game.items.get(agendaID); + for (const agendaTaskID in context.system.currentUnboldedAgendaTasks) { + context.currentUnboldedAgendaTasks.push(game.items.get(context.system.currentUnboldedAgendaTasks[agendaTaskID])); + } + for (const agendaTaskID in context.system.currentBoldedAgendaTasks) { + context.currentBoldedAgendaTasks.push(game.items.get(context.system.currentBoldedAgendaTasks[agendaTaskID])); + } + for (const agendaAbilityID in context.system.currentAgendaAbilities) { + context.currentAgendaAbilities.push(game.items.get(context.system.currentAgendaAbilities[agendaAbilityID])); + } + console.log(context.currentAgendaTasks); + + for (let i of context.items) { i.img = i.img || Item.DEFAULT_ICON; if (i.type === 'item') { gear.push(i); - } else if (i.type === 'agenda') { - agendas.push(i); - } else if (i.type === 'blasphemy') { - blasphemies.push(i); } } context.gear = gear; - context.agendas = agendas; - context.blasphemies = blasphemies; } _calculateRanges(context) { @@ -195,6 +207,27 @@ export class CainActorSheet extends ActorSheet { html.find('#editable-agenda-abilities').on('click', '.remove-ability-button', this._removeAbilityButton.bind(this)); html.find('#editable-agenda-items').on('change', '.editable-item-input', this._updateAgendaItem.bind(this)); html.find('#editable-agenda-abilities').on('change', '.editable-ability-input', this._updateAgendaAbility.bind(this)); + html.find('.agenda-drop-target').on('drop', async event => { + event.preventDefault(); + const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); + const agenda = await Item.fromDropData(data); + if (agenda.type !== "agenda") return; + console.log(agenda); + const boldedTasks = this.actor.system.currentBoldedAgendaTasks; + for (const boldedTaskIndex in agenda.system.boldedTasks) { + boldedTasks.push(agenda.system.boldedTasks[boldedTaskIndex]); + } + this.actor.update({ + 'system.currentAgenda': agenda.id, + 'system.currentUnboldedAgendaTasks': agenda.system.unboldedTasks, + 'system.currentBoldedAgendaTasks': boldedTasks + }); + console.log(agenda.system.unboldedTasks); + console.log(this.actor.system.currentUnboldedAgendaTasks); + console.log(this.actor.system.currentBoldedAgendaTasks); + }); + html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); + // Bind the bolding functions html.find('.bold-item-button').click(this._boldAgendaItem.bind(this)); html.find('.bold-ability-button').click(this._boldAgendaAbility.bind(this)); @@ -213,6 +246,21 @@ export class CainActorSheet extends ActorSheet { }); } + + + _removeAgendaTask(event) { + event.preventDefault(); + const index = event.currentTarget.getAttribute('data-index'); + if (event.currentTarget.hasAttribute('data-bold')) { + const agendaBoldedTasks = this.actor.system.currentBoldedAgendaTasks; + const newAgendaBoldedTasks = agendaBoldedTasks.slice(0, index).concat(agendaBoldedTasks.slice(Number(index)+1)); + this.actor.update({'system.currentBoldedAgendaTasks': newAgendaBoldedTasks}); + } else { + const agendaUnboldedTasks = this.actor.system.currentUnboldedAgendaTasks; + const newAgendaUnboldedTasks = agendaUnboldedTasks.slice(0, index).concat(agendaUnboldedTasks.slice(Number(index)+1)); + this.actor.update({'system.currentUnboldedAgendaTasks': newAgendaUnboldedTasks}); + } + } _boldAgendaItem(event) { event.preventDefault(); diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index 33a6690..02191d5 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -1,4 +1,4 @@ -
    +
    @@ -36,50 +36,57 @@
    -

    My Agenda

    +

    + {{#if currentAgenda }} + {{currentAgenda.name}} + {{else}} +

    Drag agenda onto your sheet.

    + {{/if}} +

    -

    Agenda Items

    +

    Agenda Tasks

      - {{#each actor.system.currentAgendaItems as |item index|}} + {{#each currentUnboldedAgendaTasks}}
    • - +

      {{this.system.task}}

    • {{/each}} -
    - -
    - -
    -

    Agenda Abilities

    -
      - {{#each actor.system.currentAgendaAbilities as |ability index|}} + {{#each currentBoldedAgendaTasks}}
    • - +

      {{this.system.task}}

    • {{/each}} + +
    +
    + +
    +

    Agenda Abilities

    +
      + {{#each currentAgendaAbilities}} +
    • +
    • + {{/each}}
    @@ -87,54 +94,8 @@
    - -
    -

    Agendas

    - {{#if agendas.length}} -
      - {{#each agendas as |item|}} -
    1. -
      -
      - -
      -

      {{item.name}}

      -
      - -
    2. - {{/each}} -
    - {{else}} -

    Drag agenda onto your sheet.

    - {{/if}} -
    - -
    +

    Blasphemy Powers

    {{#if blasphemies.length}}
      From 399debf1d40090a92115fcc7ae811a1a8c3b3af4 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 02:37:05 -0500 Subject: [PATCH 013/103] Removed boldify button from unbolded tasks --- templates/actor/parts/actor-abilities.hbs | 3 --- 1 file changed, 3 deletions(-) diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index 02191d5..cf1cf40 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -54,9 +54,6 @@ - - - From 9da08dd7cf16928524811fef844b1d2ae4ce4095 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 16:00:26 -0500 Subject: [PATCH 014/103] Fixed Session XP Advance to use updated agenda data --- module/documents/session-end-advancement.mjs | 15 +++++++++++++++ module/sheets/actor-sheet.mjs | 2 ++ templates/session-end-advancement.hbs | 12 ++++-------- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/module/documents/session-end-advancement.mjs b/module/documents/session-end-advancement.mjs index f23b349..eb05951 100644 --- a/module/documents/session-end-advancement.mjs +++ b/module/documents/session-end-advancement.mjs @@ -12,11 +12,26 @@ export class SessionEndAdvancement extends FormApplication { title: 'End of Session Advancement', }); } + + /** @override */ getData() { + const currentUnboldedAgendaTasks = []; + const currentBoldedAgendaTasks = []; + for (const agendaTaskID in this.actor.system.currentUnboldedAgendaTasks) { + currentUnboldedAgendaTasks.push(game.items.get(this.actor.system.currentUnboldedAgendaTasks[agendaTaskID])); + } + for (const agendaTaskID in this.actor.system.currentBoldedAgendaTasks) { + currentBoldedAgendaTasks.push(game.items.get(this.actor.system.currentBoldedAgendaTasks[agendaTaskID])); + } + console.log(currentBoldedAgendaTasks); + return { actor: this.actor, + boldedAgendaTasks: currentBoldedAgendaTasks, + unboldedAgendaTasks: currentUnboldedAgendaTasks, }; } + activateListeners(html) { super.activateListeners(html); } diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 7ce07f0..11e72f6 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -3,6 +3,7 @@ import { prepareActiveEffectCategories, } from '../helpers/effects.mjs'; +import { SessionEndAdvancement} from '../documents/session-end-advancement.mjs' import { CAIN } from '../helpers/config.mjs'; /** @@ -331,6 +332,7 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); _openEndSessionModal(event) { event.preventDefault(); + console.log(this.actor); new SessionEndAdvancement(this.actor).render(true); } diff --git a/templates/session-end-advancement.hbs b/templates/session-end-advancement.hbs index 9f6682e..568092e 100644 --- a/templates/session-end-advancement.hbs +++ b/templates/session-end-advancement.hbs @@ -63,25 +63,21 @@

    Up to 1 from first agenda

    - {{#each actor.system.currentAgendaItems}} - {{#unless this.isBold}} + {{#each unboldedAgendaTasks}}
    - +
    - {{/unless}} {{else}} You don't seem to have a primary agenda - consider adding one... {{/each}}

    Up to 2 from bold agendas

    - {{#each actor.system.currentAgendaItems}} - {{#if this.isBold}} + {{#each boldedAgendaTasks}}
    - +
    - {{/if}} {{else}} You don't seem to have any bolded agendas - consider adding one... {{/each}} From fa2542817089447ea8444839be5d8987fbe982f9 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 18:59:02 -0500 Subject: [PATCH 015/103] Added handling for agenda tasks and abilities as well as dropdown to add abilities from current agenda. --- module/sheets/actor-sheet.mjs | 111 ++++++++-------------- templates/actor/parts/actor-abilities.hbs | 36 +++++-- 2 files changed, 68 insertions(+), 79 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 11e72f6..983bd86 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -83,10 +83,6 @@ export class CainActorSheet extends ActorSheet { _prepareCharacterData(context) { // Character-specific data preparation - } - - _prepareItems(context) { - const gear = []; const agendas = []; const blasphemies = []; @@ -95,6 +91,7 @@ export class CainActorSheet extends ActorSheet { context.currentUnboldedAgendaTasks = []; context.currentBoldedAgendaTasks = []; context.currentAgendaAbilities = []; + context.currentAgendaAvailableAbilities = []; if (agendaID !== "INVALID") context.currentAgenda = game.items.get(agendaID); for (const agendaTaskID in context.system.currentUnboldedAgendaTasks) { context.currentUnboldedAgendaTasks.push(game.items.get(context.system.currentUnboldedAgendaTasks[agendaTaskID])); @@ -105,23 +102,24 @@ export class CainActorSheet extends ActorSheet { for (const agendaAbilityID in context.system.currentAgendaAbilities) { context.currentAgendaAbilities.push(game.items.get(context.system.currentAgendaAbilities[agendaAbilityID])); } - console.log(context.currentAgendaTasks); - + const validAbilities = context.currentAgenda.system.abilities.filter(item => {return !context.system.currentAgendaAbilities.includes(item)}); + for (const agendaAbilityID in validAbilities) { + context.currentAgendaAvailableAbilities.push(game.items.get(validAbilities[agendaAbilityID])); + } + context.agendas = agendas; + context.blasphemies = blasphemies; + } + _prepareItems(context) { + const gear = []; for (let i of context.items) { i.img = i.img || Item.DEFAULT_ICON; if (i.type === 'item') { gear.push(i); - } else if (i.type === 'agenda') { - agendas.push(i); - } else if (i.type === 'blasphemy') { - blasphemies.push(i); } } context.gear = gear; - context.agendas = agendas; - context.blasphemies = blasphemies; } _calculateRanges(context) { @@ -231,11 +229,10 @@ export class CainActorSheet extends ActorSheet { html.find('.talisman-max-mark').change(this._onMaxMarkAmountChange.bind(this)); html.find('.roll-rest-dice').click(this._RollRestDice.bind(this)); html.find('#add-agenda-item-button').on('click', this._addAgendaItemButton.bind(this)); - html.find('#add-agenda-ability-button').on('click', this._addAgendaAbilityButton.bind(this)); - html.find('#editable-agenda-items').on('click', '.remove-item-button', this._removeItemButton.bind(this)); - html.find('#editable-agenda-abilities').on('click', '.remove-ability-button', this._removeAbilityButton.bind(this)); + html.find('#editable-agenda-abilities').on('click', '.remove-ability-button', this._removeAgendaAbilityButton.bind(this)); html.find('#editable-agenda-items').on('change', '.editable-item-input', this._updateAgendaItem.bind(this)); html.find('#editable-agenda-abilities').on('change', '.editable-ability-input', this._updateAgendaAbility.bind(this)); + html.find('#add-agenda-ability-button').on('click', this._addAgendaAbility.bind(this)); html.find('.agenda-drop-target').on('drop', async event => { event.preventDefault(); const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); @@ -256,11 +253,8 @@ export class CainActorSheet extends ActorSheet { console.log(this.actor.system.currentBoldedAgendaTasks); }); html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); -// Bind the bolding functions - html.find('.bold-item-button').click(this._boldAgendaItem.bind(this)); - html.find('.bold-ability-button').click(this._boldAgendaAbility.bind(this)); // Bind the send to chat functions - html.find('.agenda-item-to-chat').click(this._sendAgendaItemMessage.bind(this)); + html.find('.agenda-task-to-chat').click(this._sendAgendaTaskMessage.bind(this)); html.find('.agenda-ability-to-chat').click(this._sendAgendaAbilityMessage.bind(this)); /* NPC sheet specific listeners */ html.find('.attack-button').click(this._onNpcAttack.bind(this)); @@ -275,6 +269,18 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); } + _addAgendaAbility(event) { + event.preventDefault(); + const abilityID = event.currentTarget.parentElement.querySelector('#selectedItem').value; + console.log(abilityID); + const currentAbilities = this.actor.system.currentAgendaAbilities; + console.log(currentAbilities); + currentAbilities.push(abilityID); + this.actor.update({'system.currentAgendaAbilities': currentAbilities}); + console.log(currentAbilities); + this.actor.render(true); + } + _removeAgendaTask(event) { event.preventDefault(); const index = event.currentTarget.getAttribute('data-index'); @@ -336,42 +342,20 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); new SessionEndAdvancement(this.actor).render(true); } - _boldAgendaItem(event) { - event.preventDefault(); - const index = event.currentTarget.getAttribute('data-index'); - const textarea = document.querySelector(`.editable-item-input[data-index="${index}"]`); - const list = this.actor.system.currentAgendaItems; - - list[index].isBold = !list[index].isBold; - textarea.style.fontWeight = list[index].isBold ? 'bold' : 'normal'; - event.currentTarget.querySelector('i').classList.toggle('active', list[index].isBold); - - console.log(`Bolding item at index ${index}: ${list[index].isBold}`); - - this.actor.update({ 'system.currentAgendaItems': list }); - } - - _boldAgendaAbility(event) { + _sendAgendaTaskMessage(event) { event.preventDefault(); const index = event.currentTarget.getAttribute('data-index'); - const textarea = document.querySelector(`.editable-ability-input[data-index="${index}"]`); - const list = this.actor.system.currentAgendaAbilities; - - list[index].isBold = !list[index].isBold; - textarea.style.fontWeight = list[index].isBold ? 'bold' : 'normal'; - event.currentTarget.querySelector('i').classList.toggle('active', list[index].isBold); - - console.log(`Bolding ability at index ${index}: ${list[index].isBold}`); - - this.actor.update({ 'system.currentAgendaAbilities': list }); - } - - _sendAgendaItemMessage(event) { - event.preventDefault(); - const index = event.currentTarget.getAttribute('data-index'); - const textarea = document.querySelector(`.editable-item-input[data-index="${index}"]`); - const itemText = textarea.value; - const message = `

    ${itemText}

    `; + let agendaTaskList = []; + if (event.currentTarget.hasAttribute('data-bold')) { + agendaTaskList = this.actor.system.currentBoldedAgendaTasks; + } else { + agendaTaskList = this.actor.system.currentUnboldedAgendaTasks; + } + console.log(index); + console.log(agendaTaskList); + const agendaTask = game.items.get(agendaTaskList[index]); + console.log(agendaTask); + const message = `

    ${this.actor.name}

    ${(agendaTask.system.isBold ? '' : '')}${agendaTask.system.task}${(agendaTask.system.isBold ? '' : '')}

    `; ChatMessage.create({ content: message, speaker: ChatMessage.getSpeaker({ actor: this.actor }), @@ -381,9 +365,8 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); _sendAgendaAbilityMessage(event) { event.preventDefault(); const index = event.currentTarget.getAttribute('data-index'); - const textarea = document.querySelector(`.editable-ability-input[data-index="${index}"]`); - const abilityText = textarea.value; - const message = `

    ${abilityText}

    `; + const agendaAbility = game.items.get(this.actor.system.currentAgendaAbilities[index]); + const message = `

    ${agendaAbility.system.abilityName}

    ${agendaAbility.system.abilityDescription}

    `; ChatMessage.create({ content: message, speaker: ChatMessage.getSpeaker({ actor: this.actor }), @@ -408,22 +391,12 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); }); } - _removeItemButton(event) { - event.preventDefault(); - const index = event.currentTarget.dataset.index; - const agendaItems = this.actor.system.currentAgendaItems || []; - agendaItems.splice(index, 1); - this.actor.update({ 'system.currentAgendaItems': agendaItems }).then(() => { - this.render(false); // Re-render the sheet to reflect changes - }); - } - - _removeAbilityButton(event) { + _removeAgendaAbilityButton(event) { event.preventDefault(); const index = event.currentTarget.dataset.index; const agendaAbilities = this.actor.system.currentAgendaAbilities || []; - agendaAbilities.splice(index, 1); - this.actor.update({ 'system.currentAgendaAbilities': agendaAbilities }).then(() => { + const newAgendaAbilities = agendaAbilities.slice(0, Number(index)).concat(agendaAbilities.slice(Number(index)+1)) + this.actor.update({ 'system.currentAgendaAbilities': newAgendaAbilities }).then(() => { this.render(false); // Re-render the sheet to reflect changes }); } diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index cf1cf40..c86c47c 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -49,12 +49,12 @@
      {{#each currentUnboldedAgendaTasks}}
    • -

      {{this.system.task}}

      +

      {{this.system.task}}

      @@ -62,12 +62,12 @@ {{/each}} {{#each currentBoldedAgendaTasks}}
    • -

      {{this.system.task}}

      +

      {{this.system.task}}

      @@ -81,11 +81,26 @@

      Agenda Abilities

        {{#each currentAgendaAbilities}} -
      • +
      • + {{this.system.abilityName}} + + + + + +
      • {{/each}}
      - +
      + + + +
    @@ -218,7 +233,7 @@ color: #ff0000; } -.abilities-page .create-agenda-button, .abilities-page .create-blasphemy-button { +.abilities-page .add-agenda-ability-button, .abilities-page .create-blasphemy-button { background-color: #1a1a1a; color: #e0e0e0; border: 1px solid #444; @@ -227,10 +242,11 @@ margin-top: 10px; } -.abilities-page .create-agenda-button:hover, .abilities-page .create-blasphemy-button:hover { +.abilities-page .add-agenda-ability-button:hover, .abilities-page .create-blasphemy-button:hover { background-color: #444; } + .abilities-page .psychedelic-text { color: #9933ff; font-family: "Lacquer", system-ui; From 2143bfc3de85c4c42fb177f8a767a6a2715d64b3 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 19:01:57 -0500 Subject: [PATCH 016/103] Added in a compendium with Agendas in the new style. Not all agendas are included yet, nor are icons. --- packs/agenda2/000004.log | 0 packs/agenda2/000005.ldb | Bin 0 -> 9875 bytes packs/agenda2/CURRENT | 1 + packs/agenda2/LOCK | 0 packs/agenda2/LOG | 5 +++++ packs/agenda2/MANIFEST-000002 | Bin 0 -> 136 bytes packs/blasphemy2/000004.log | 0 packs/blasphemy2/CURRENT | 1 + packs/blasphemy2/LOCK | 0 packs/blasphemy2/LOG | 5 +++++ packs/blasphemy2/MANIFEST-000002 | Bin 0 -> 65 bytes system.json | 14 ++++++++++++++ 12 files changed, 26 insertions(+) create mode 100644 packs/agenda2/000004.log create mode 100644 packs/agenda2/000005.ldb create mode 100644 packs/agenda2/CURRENT create mode 100644 packs/agenda2/LOCK create mode 100644 packs/agenda2/LOG create mode 100644 packs/agenda2/MANIFEST-000002 create mode 100644 packs/blasphemy2/000004.log create mode 100644 packs/blasphemy2/CURRENT create mode 100644 packs/blasphemy2/LOCK create mode 100644 packs/blasphemy2/LOG create mode 100644 packs/blasphemy2/MANIFEST-000002 diff --git a/packs/agenda2/000004.log b/packs/agenda2/000004.log new file mode 100644 index 0000000..e69de29 diff --git a/packs/agenda2/000005.ldb b/packs/agenda2/000005.ldb new file mode 100644 index 0000000000000000000000000000000000000000..98ee02e2819a1d00a07b3b88202bc421906b991f GIT binary patch literal 9875 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 literal 0 HcmV?d00001 diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT new file mode 100644 index 0000000..1a84852 --- /dev/null +++ b/packs/agenda2/CURRENT @@ -0,0 +1 @@ +MANIFEST-000002 diff --git a/packs/agenda2/LOCK b/packs/agenda2/LOCK new file mode 100644 index 0000000..e69de29 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG new file mode 100644 index 0000000..11cc713 --- /dev/null +++ b/packs/agenda2/LOG @@ -0,0 +1,5 @@ +2024/08/28-19:00:17.739 6e78 Delete type=3 #1 +2024/08/28-19:01:04.993 9a40 Level-0 table #5: started +2024/08/28-19:01:04.996 9a40 Level-0 table #5: 9875 bytes OK +2024/08/28-19:01:04.997 9a40 Delete type=0 #3 +2024/08/28-19:01:05.000 9a40 Manual compaction at level-0 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) diff --git a/packs/agenda2/MANIFEST-000002 b/packs/agenda2/MANIFEST-000002 new file mode 100644 index 0000000000000000000000000000000000000000..7d85f00107ae4831031e55861dab0f194e716e45 GIT binary patch literal 136 zcmWIhx#Ncn10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAe$kRS-TOEg7@3$k8JJmE z7{33B2=E7TS%6$N79Dmb*2%t#ifQ>dDXB%piq1Z+<;Ia7x#h`G{^0>>xr|H Date: Wed, 28 Aug 2024 20:26:45 -0500 Subject: [PATCH 017/103] Cleaned up data preparation --- module/sheets/actor-sheet.mjs | 41 ++++++++++++++++------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 983bd86..6c9ad00 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -83,32 +83,29 @@ export class CainActorSheet extends ActorSheet { _prepareCharacterData(context) { // Character-specific data preparation - const agendas = []; - const blasphemies = []; + context.agendas = []; + context.blasphemies = []; const agendaID = context.system.currentAgenda; - context.currentAgenda = null; - context.currentUnboldedAgendaTasks = []; - context.currentBoldedAgendaTasks = []; - context.currentAgendaAbilities = []; - context.currentAgendaAvailableAbilities = []; - if (agendaID !== "INVALID") context.currentAgenda = game.items.get(agendaID); - for (const agendaTaskID in context.system.currentUnboldedAgendaTasks) { - context.currentUnboldedAgendaTasks.push(game.items.get(context.system.currentUnboldedAgendaTasks[agendaTaskID])); - } - for (const agendaTaskID in context.system.currentBoldedAgendaTasks) { - context.currentBoldedAgendaTasks.push(game.items.get(context.system.currentBoldedAgendaTasks[agendaTaskID])); - } - for (const agendaAbilityID in context.system.currentAgendaAbilities) { - context.currentAgendaAbilities.push(game.items.get(context.system.currentAgendaAbilities[agendaAbilityID])); - } - const validAbilities = context.currentAgenda.system.abilities.filter(item => {return !context.system.currentAgendaAbilities.includes(item)}); - for (const agendaAbilityID in validAbilities) { - context.currentAgendaAvailableAbilities.push(game.items.get(validAbilities[agendaAbilityID])); + context.currentAgenda = agendaID !== "INVALID" ? game.items.get(agendaID) : null; + context.currentUnboldedAgendaTasks = this._getItemsFromIDs(context.system.currentUnboldedAgendaTasks); + context.currentBoldedAgendaTasks = this._getItemsFromIDs(context.system.currentBoldedAgendaTasks); + context.currentAgendaAbilities = this._getItemsFromIDs(context.system.currentAgendaAbilities); + + if (context.currentAgenda) { + const validAbilities = context.currentAgenda.system.abilities.filter(item => + !context.system.currentAgendaAbilities.includes(item) + ); + context.currentAgendaAvailableAbilities = this._getItemsFromIDs(validAbilities); + } else { + context.currentAgendaAvailableAbilities = []; } - context.agendas = agendas; - context.blasphemies = blasphemies; } + + _getItemsFromIDs(ids) { + return ids.map(id => game.items.get(id)); + } + _prepareItems(context) { const gear = []; From 50746872c674d63a256ea2236945f9b2415525dd Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 20:50:28 -0500 Subject: [PATCH 018/103] Refactored drop data to switch based on type to multiple handlers --- module/sheets/actor-sheet.mjs | 71 ++++++++++++++++++----- templates/actor/parts/actor-abilities.hbs | 4 +- 2 files changed, 58 insertions(+), 17 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 6c9ad00..2571d14 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -230,24 +230,29 @@ export class CainActorSheet extends ActorSheet { html.find('#editable-agenda-items').on('change', '.editable-item-input', this._updateAgendaItem.bind(this)); html.find('#editable-agenda-abilities').on('change', '.editable-ability-input', this._updateAgendaAbility.bind(this)); html.find('#add-agenda-ability-button').on('click', this._addAgendaAbility.bind(this)); - html.find('.agenda-drop-target').on('drop', async event => { + html.find('.abilities-page-drop-target').on('drop', async event => { event.preventDefault(); const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); - const agenda = await Item.fromDropData(data); - if (agenda.type !== "agenda") return; - console.log(agenda); - const boldedTasks = this.actor.system.currentBoldedAgendaTasks; - for (const boldedTaskIndex in agenda.system.boldedTasks) { - boldedTasks.push(agenda.system.boldedTasks[boldedTaskIndex]); + const itemDrop = await Item.fromDropData(data); + switch(itemDrop.type) { + case "agenda": + this._onDropAgenda(event, itemDrop); + break; + case "agendaTask": + this._onDropAgendaTask(event, itemDrop); + break; + case "agendaAbility": + this._onDropAgendaAbility(event, itemDrop); + break; + case "blasphemy": + this._onDropBlasphemy(event, itemDrop); + break; + case "blasphemyPower": + this._onDropBlasphemyPower(event, itemDrop); + break; + default: + console.warn("Invalid drop type on ability page: " + itemDrop.type); } - this.actor.update({ - 'system.currentAgenda': agenda.id, - 'system.currentUnboldedAgendaTasks': agenda.system.unboldedTasks, - 'system.currentBoldedAgendaTasks': boldedTasks - }); - console.log(agenda.system.unboldedTasks); - console.log(this.actor.system.currentUnboldedAgendaTasks); - console.log(this.actor.system.currentBoldedAgendaTasks); }); html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); // Bind the send to chat functions @@ -266,6 +271,42 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); } + _onDropAgenda(event, agenda) { + const boldedTasks = this.actor.system.currentBoldedAgendaTasks; + const newBoldedTasks = boldedTasks.concat(agenda.system.boldedTasks.filter(boldedTask => {return !this.actor.system.currentBoldedAgendaTasks.includes(boldedTask)})); + this.actor.update({ + 'system.agenda': agenda.system.agendaName, + 'system.currentAgenda': agenda.id, + 'system.currentUnboldedAgendaTasks': agenda.system.unboldedTasks, + 'system.currentBoldedAgendaTasks': newBoldedTasks + }); + } + + _onDropAgendaTask(event, agendaTask) { + const isBold = agendaTask.system.isBold + const taskList = (isBold ? this.actor.system.currentBoldedAgendaTasks : this.actor.system.currentUnboldedAgendaTasks); + taskList.push(agendaTask.id); + this.actor.update({ + 'system.currentUnboldedAgendaTasks': ( isBold ? this.actor.system.currentUnboldedAgendaTasks : taskList), + 'system.currentBoldedAgendaTasks': ( isBold ? taskList : this.actor.system.currentBoldedAgendaTasks) + }); + } + + _onDropAgendaAbility(event, agendaAbility) { + const abilityList = this.actor.system.currentAgendaAbilities; + abilityList.push(agendaAbility.id); + this.actor.update({ + 'system.currentAgendaAbilities': abilityList + }); + } + + _onDropBlasphemy(event, agenda) { + + } + _onDropBlasphemyPower(event, agenda) { + + } + _addAgendaAbility(event) { event.preventDefault(); const abilityID = event.currentTarget.parentElement.querySelector('#selectedItem').value; diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index c86c47c..75edd70 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -1,4 +1,4 @@ -
    +
    @@ -36,7 +36,7 @@
    -

    +

    {{#if currentAgenda }} {{currentAgenda.name}} {{else}} From 2214cc875ec801757b7da1f01d942ea6f05dc9a4 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 28 Aug 2024 21:28:51 -0500 Subject: [PATCH 019/103] Fixed a multitude of issues with homebrew Blasphemies --- module/data/blasphemy/item-blasphemy.mjs | 2 +- module/documents/homebrew-window.mjs | 4 +- templates/homebrew-window.hbs | 4 +- templates/item/item-blasphemy-sheet.hbs | 6 +- templates/item/item-blasphemyPower-sheet.hbs | 99 +------------------ .../item/parts/item-blasphemy-power-sheet.hbs | 6 +- 6 files changed, 13 insertions(+), 108 deletions(-) diff --git a/module/data/blasphemy/item-blasphemy.mjs b/module/data/blasphemy/item-blasphemy.mjs index e1cf724..3e1dd6d 100644 --- a/module/data/blasphemy/item-blasphemy.mjs +++ b/module/data/blasphemy/item-blasphemy.mjs @@ -7,7 +7,7 @@ export default class CainBlasphemy extends CainItemBase { const schema = super.defineSchema(); - schema.name = new fields.StringField({ required: true, nullable: false, initial: "default" }); + schema.blasphemyName = new fields.StringField({ required: true, nullable: false, initial: "default" }); schema.powers = new fields.ArrayField(new fields.StringField(), {required: true, nullable: false, initial: []}); diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs index 8fe3b67..2c15663 100644 --- a/module/documents/homebrew-window.mjs +++ b/module/documents/homebrew-window.mjs @@ -125,7 +125,7 @@ export class HomebrewWindow extends Application { html.find('.homebrew-blasphemy-name-input').change(this._onChangeBlasphemyName.bind(this)); - html.find('.homebrew-new-ability').click(this._onCreateNewPower.bind(this)); + html.find('.homebrew-new-power').click(this._onCreateNewPower.bind(this)); html.find('.homebrew-power-name-input').change(this._onChangePowerName.bind(this)); html.find('.homebrew-power-tags-input').change(this._onChangePowerTags.bind(this)); html.find('.homebrew-power-input').change(this._onChangePowerDescription.bind(this)); @@ -241,7 +241,7 @@ export class HomebrewWindow extends Application { img: "icons/svg/item-bag.svg", folder: blasphemyFolder.id, // Assign the item to the folder system: { - agendaName: this.blasphemyOptions.name, + blasphemyName: this.blasphemyOptions.name, powers: powerList, } }; diff --git a/templates/homebrew-window.hbs b/templates/homebrew-window.hbs index 98c798f..3d82eaf 100644 --- a/templates/homebrew-window.hbs +++ b/templates/homebrew-window.hbs @@ -57,10 +57,10 @@
  • - + diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index 205be81..412e1e2 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -1,8 +1,8 @@
    - +
    -

    +

    {{system.blasphemyName}}

    @@ -309,7 +309,7 @@ form.sympathy-theme .sheet-header { } /* Style for text input */ -.form-blasphemy input[type="text"] { +.form-blasphemy .blasphemy-text { background-color: #2a2a2a; color: #f0f0f0; border: 2px solid #333; diff --git a/templates/item/item-blasphemyPower-sheet.hbs b/templates/item/item-blasphemyPower-sheet.hbs index 214fc02..7cfc07c 100644 --- a/templates/item/item-blasphemyPower-sheet.hbs +++ b/templates/item/item-blasphemyPower-sheet.hbs @@ -1,102 +1,7 @@ - -
    - -
    -

    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    - - {{!-- Sheet Tab Navigation --}} - - - {{!-- Sheet Body --}} - {{! Sheet Body }} -
    - - {{! Description Tab }} -
    - {{! Editors must receive enriched text data from getData to properly handle rolls }} - {{editor - enrichedDescription - target='system.description' - engine='prosemirror' - button=true - editable=editable - }} -
    - - {{! Attributes Tab }} -
    - {{! As you add new fields, add them in here! }} -
    - - {{system.formula}} -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -
    + +{{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} \ No newline at end of file From 9f9cf1075add901df9837de9c9c933047828d741 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 09:31:19 -0400 Subject: [PATCH 025/103] Log updates for items --- packs/agenda/LOG | 3 +++ packs/blasphemy/LOG | 3 +++ packs/items/LOG | 3 +++ packs/tables/LOG | 3 +++ 4 files changed, 12 insertions(+) diff --git a/packs/agenda/LOG b/packs/agenda/LOG index e69de29..37055f5 100644 --- a/packs/agenda/LOG +++ b/packs/agenda/LOG @@ -0,0 +1,3 @@ +2024/08/29-08:59:55.844 2da0 Recovering log #57 +2024/08/29-08:59:55.850 2da0 Delete type=0 #57 +2024/08/29-08:59:55.850 2da0 Delete type=3 #56 diff --git a/packs/blasphemy/LOG b/packs/blasphemy/LOG index e69de29..13fd01f 100644 --- a/packs/blasphemy/LOG +++ b/packs/blasphemy/LOG @@ -0,0 +1,3 @@ +2024/08/29-08:59:55.918 4f54 Recovering log #57 +2024/08/29-08:59:55.923 4f54 Delete type=0 #57 +2024/08/29-08:59:55.924 4f54 Delete type=3 #56 diff --git a/packs/items/LOG b/packs/items/LOG index e69de29..5bb07c9 100644 --- a/packs/items/LOG +++ b/packs/items/LOG @@ -0,0 +1,3 @@ +2024/08/29-08:59:55.829 5848 Recovering log #58 +2024/08/29-08:59:55.833 5848 Delete type=0 #58 +2024/08/29-08:59:55.833 5848 Delete type=3 #57 diff --git a/packs/tables/LOG b/packs/tables/LOG index e69de29..38906a4 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -0,0 +1,3 @@ +2024/08/29-08:59:56.005 2da0 Recovering log #57 +2024/08/29-08:59:56.007 2da0 Delete type=0 #57 +2024/08/29-08:59:56.008 2da0 Delete type=3 #56 From f9fe0c1687b8d8b483d177743ac97111f553f4fc Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 09:56:26 -0400 Subject: [PATCH 026/103] Figured out how to add image to sheet. --- module/sheets/actor-sheet.mjs | 19 +- templates/actor/parts/actor-abilities.hbs | 463 +++++++++++----------- 2 files changed, 248 insertions(+), 234 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 518d0cb..467afe0 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -248,13 +248,14 @@ export class CainActorSheet extends ActorSheet { html.find('#add-agenda-ability-button').on('click', this._addAgendaAbility.bind(this)); html.find('.add-blasphemy-power-button').on('click', this._addBlasphemyPower.bind(this)); + // New event listeners for agenda tasks and abilities html.find('.agenda-task').on('click', (event) => { - const itemId = event.currentTarget.dataset.index; + const itemId = this.actor.system.currentAgenda; // Get the current agenda ID this._openAgendaItemSheet(itemId); }); - + html.find('.agenda-ability').on('click', (event) => { - const itemId = event.currentTarget.dataset.index; + const itemId = this.actor.system.currentAgenda; // Get the current agenda ID this._openAgendaItemSheet(itemId); }); @@ -300,9 +301,17 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); _openAgendaItemSheet(itemId) { // Logic to open the agenda item sheet + + /** We should add more complicated logic in event listenrr + * to handle different types of items + * AKA agenda, agendaTask, agendaAbility, blasphemy, blasphemyPower + * etc. + * + * Right now this function only opens the whole Agenda you have assigned. + */ console.log(`Opening agenda item sheet for item ID: ${itemId}`); - // Assuming you have a method to open the sheet, e.g., using Foundry's API - const item = this.actor.items.get(itemId); + const item = Item.get(itemId); + console.log(item); if (item) { item.sheet.render(true); } diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index b9e99b7..cd539e3 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -113,7 +113,7 @@
  • - Blasphemy Image + Blasphemy Image

    Passive{{#if (gt passives.length 1)}}s{{/if}}

      {{#each passives}} @@ -176,235 +176,240 @@
    \ No newline at end of file From 0748d67a5983650b1d91a47a3477cec241ce6af8 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 11:06:18 -0400 Subject: [PATCH 027/103] Added in ALOT of error handling with new functions --- module/sheets/actor-sheet.mjs | 257 +++++++++++++++--- packs/agenda/{000059.log => 000065.log} | 0 packs/agenda/CURRENT | 2 +- packs/agenda/LOG | 6 +- packs/agenda/LOG.old | 11 +- .../{MANIFEST-000058 => MANIFEST-000064} | Bin 187 -> 187 bytes packs/agenda2/000005.ldb | Bin 9875 -> 0 bytes packs/agenda2/000027.ldb | Bin 28729 -> 0 bytes packs/agenda2/000034.ldb | Bin 0 -> 28141 bytes packs/agenda2/{000028.log => 000036.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 8 +- packs/agenda2/LOG.old | 24 +- packs/agenda2/MANIFEST-000026 | Bin 194 -> 0 bytes packs/agenda2/MANIFEST-000035 | Bin 0 -> 191 bytes packs/blasphemy/{000059.log => 000065.log} | 0 packs/blasphemy/CURRENT | 2 +- packs/blasphemy/LOG | 6 +- packs/blasphemy/LOG.old | 11 +- .../{MANIFEST-000058 => MANIFEST-000064} | Bin 191 -> 191 bytes packs/blasphemy2/000021.ldb | Bin 4063 -> 0 bytes packs/blasphemy2/000025.ldb | Bin 11737 -> 0 bytes packs/blasphemy2/{000028.ldb => 000035.ldb} | Bin 49076 -> 48710 bytes packs/blasphemy2/{000029.log => 000037.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 8 +- packs/blasphemy2/LOG.old | 27 +- packs/blasphemy2/MANIFEST-000027 | Bin 265 -> 0 bytes packs/blasphemy2/MANIFEST-000036 | Bin 0 -> 191 bytes packs/items/{000060.log => 000066.log} | 0 packs/items/CURRENT | 2 +- packs/items/LOG | 6 +- packs/items/LOG.old | 11 +- .../{MANIFEST-000059 => MANIFEST-000065} | Bin 190 -> 190 bytes packs/tables/{000059.log => 000065.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 6 +- packs/tables/LOG.old | 11 +- .../{MANIFEST-000058 => MANIFEST-000064} | Bin 267 -> 267 bytes 39 files changed, 319 insertions(+), 85 deletions(-) rename packs/agenda/{000059.log => 000065.log} (100%) rename packs/agenda/{MANIFEST-000058 => MANIFEST-000064} (68%) delete mode 100644 packs/agenda2/000005.ldb delete mode 100644 packs/agenda2/000027.ldb create mode 100644 packs/agenda2/000034.ldb rename packs/agenda2/{000028.log => 000036.log} (100%) delete mode 100644 packs/agenda2/MANIFEST-000026 create mode 100644 packs/agenda2/MANIFEST-000035 rename packs/blasphemy/{000059.log => 000065.log} (100%) rename packs/blasphemy/{MANIFEST-000058 => MANIFEST-000064} (67%) delete mode 100644 packs/blasphemy2/000021.ldb delete mode 100644 packs/blasphemy2/000025.ldb rename packs/blasphemy2/{000028.ldb => 000035.ldb} (56%) rename packs/blasphemy2/{000029.log => 000037.log} (100%) delete mode 100644 packs/blasphemy2/MANIFEST-000027 create mode 100644 packs/blasphemy2/MANIFEST-000036 rename packs/items/{000060.log => 000066.log} (100%) rename packs/items/{MANIFEST-000059 => MANIFEST-000065} (67%) rename packs/tables/{000059.log => 000065.log} (100%) rename packs/tables/{MANIFEST-000058 => MANIFEST-000064} (71%) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 467afe0..7ec0328 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -88,25 +88,42 @@ export class CainActorSheet extends ActorSheet { const agendaID = context.system.currentAgenda; context.currentAgenda = agendaID !== "INVALID" ? game.items.get(agendaID) : null; - context.currentUnboldedAgendaTasks = this._getItemsFromIDs(context.system.currentUnboldedAgendaTasks); - context.currentBoldedAgendaTasks = this._getItemsFromIDs(context.system.currentBoldedAgendaTasks); - context.currentAgendaAbilities = this._getItemsFromIDs(context.system.currentAgendaAbilities); - context.currentBlasphemies = this._getItemsFromIDs(context.system.currentBlasphemies); - context.currentBlasphemyPowers = this._getItemsFromIDs(context.system.currentBlasphemyPowers); - context.currentUnlinkedBlasphemyPowers = this._getItemsFromIDs(context.system.currentBlasphemyPowers.filter(blasphemyPowerID => {return context.currentBlasphemies.map(blasphemy => {return !blasphemy.system.powers.includes(blasphemyPowerID)}).reduce((a,b) => {return a && b;});})); - - context.blasphemyData = context.currentBlasphemies.map(blasphemy => {return { - "blasphemy" : blasphemy, - "passives" : this._getItemsFromIDs(blasphemy.system.powers.filter(powerID => {return context.system.currentBlasphemyPowers.includes(powerID)})).filter(power => {return power.system.isPassive;}), - "powers" : this._getItemsFromIDs(blasphemy.system.powers.filter(powerID => {return context.system.currentBlasphemyPowers.includes(powerID)})).filter(power => {return !power.system.isPassive;}), - "availablePowers" : this._getItemsFromIDs(blasphemy.system.powers.filter(powerID => {return !context.system.currentBlasphemyPowers.includes(powerID)})) - };}); + context.currentUnboldedAgendaTasks = this._getItemsFromIDs(context.system.currentUnboldedAgendaTasks || []); + context.currentBoldedAgendaTasks = this._getItemsFromIDs(context.system.currentBoldedAgendaTasks || []); + context.currentAgendaAbilities = this._getItemsFromIDs(context.system.currentAgendaAbilities || []); + context.currentBlasphemies = this._getItemsFromIDs(context.system.currentBlasphemies || []); + context.currentBlasphemyPowers = this._getItemsFromIDs(context.system.currentBlasphemyPowers || []); + + // Calculate currentUnlinkedBlasphemyPowers + context.currentUnlinkedBlasphemyPowers = this._getItemsFromIDs( + (context.system.currentBlasphemyPowers || []).filter(blasphemyPowerID => { + return (context.currentBlasphemies || []).map(blasphemy => { + return !blasphemy.system.powers.includes(blasphemyPowerID); + }).reduce((a, b) => a && b, true); + }) + ); + + // Prepare blasphemy data + context.blasphemyData = (context.currentBlasphemies || []).map(blasphemy => { + const blasphemyPowers = blasphemy.system.powers || []; + const currentBlasphemyPowers = context.system.currentBlasphemyPowers || []; + + return { + blasphemy: blasphemy, + passives: this._getItemsFromIDs(blasphemyPowers.filter(powerID => currentBlasphemyPowers.includes(powerID))) + .filter(power => power.system.isPassive), + powers: this._getItemsFromIDs(blasphemyPowers.filter(powerID => currentBlasphemyPowers.includes(powerID))) + .filter(power => !power.system.isPassive), + availablePowers: this._getItemsFromIDs(blasphemyPowers.filter(powerID => !currentBlasphemyPowers.includes(powerID))) + }; + }); + console.log(context); - + // Prepare currentAgendaAvailableAbilities if (context.currentAgenda) { - const validAbilities = context.currentAgenda.system.abilities.filter(item => - !context.system.currentAgendaAbilities.includes(item) + const validAbilities = (context.currentAgenda.system.abilities || []).filter(item => + !(context.system.currentAgendaAbilities || []).includes(item) ); context.currentAgendaAvailableAbilities = this._getItemsFromIDs(validAbilities); } else { @@ -259,6 +276,7 @@ export class CainActorSheet extends ActorSheet { this._openAgendaItemSheet(itemId); }); + html.find('.abilities-page-drop-target').on('drop', async event => { event.preventDefault(); const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); @@ -318,52 +336,217 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); } _onDropAgenda(event, agenda) { - const boldedTasks = this.actor.system.currentBoldedAgendaTasks; - const newBoldedTasks = boldedTasks.concat(agenda.system.boldedTasks.filter(boldedTask => {return !this.actor.system.currentBoldedAgendaTasks.includes(boldedTask)})); + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + const boldedTasks = this.actor.system.currentBoldedAgendaTasks || []; + console.log("Current Bolded Agenda Tasks:", boldedTasks); + + // Ensure agenda and agenda.system are defined + if (!agenda || !agenda.system) { + console.error("Agenda or agenda system is undefined."); + ui.notifications.error("Agenda or agenda system is undefined. Please check your setup."); + return; + } + console.log("Agenda and agenda system are defined."); + + const newBoldedTasks = boldedTasks.concat( + (agenda.system.boldedTasks || []).filter(boldedTask => { + const isIncluded = !this.actor.system.currentBoldedAgendaTasks.includes(boldedTask); + console.log("Is bolded task included?", isIncluded); + return isIncluded; + }) + ); + console.log("New Bolded Tasks:", newBoldedTasks); + this.actor.update({ 'system.agenda': agenda.system.agendaName, 'system.currentAgenda': agenda.id, - 'system.currentUnboldedAgendaTasks': agenda.system.unboldedTasks, + 'system.currentUnboldedAgendaTasks': agenda.system.unboldedTasks || [], 'system.currentBoldedAgendaTasks': newBoldedTasks + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); }); } - + _onDropAgendaTask(event, agendaTask) { - const isBold = agendaTask.system.isBold - const taskList = (isBold ? this.actor.system.currentBoldedAgendaTasks : this.actor.system.currentUnboldedAgendaTasks); + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + // Ensure agendaTask and agendaTask.system are defined + if (!agendaTask || !agendaTask.system) { + console.error("Agenda task or agenda task system is undefined."); + ui.notifications.error("Agenda task or agenda task system is undefined. Please check your setup."); + return; + } + console.log("Agenda task and agenda task system are defined."); + + const isBold = agendaTask.system.isBold; + const taskList = isBold ? this.actor.system.currentBoldedAgendaTasks || [] : this.actor.system.currentUnboldedAgendaTasks || []; + console.log("Current Task List:", taskList); + taskList.push(agendaTask.id); + console.log("Updated Task List:", taskList); + this.actor.update({ - 'system.currentUnboldedAgendaTasks': ( isBold ? this.actor.system.currentUnboldedAgendaTasks : taskList), - 'system.currentBoldedAgendaTasks': ( isBold ? taskList : this.actor.system.currentBoldedAgendaTasks) + 'system.currentUnboldedAgendaTasks': isBold ? this.actor.system.currentUnboldedAgendaTasks || [] : taskList, + 'system.currentBoldedAgendaTasks': isBold ? taskList : this.actor.system.currentBoldedAgendaTasks || [] + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); }); } - + _onDropAgendaAbility(event, agendaAbility) { - const abilityList = this.actor.system.currentAgendaAbilities; + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + // Ensure agendaAbility and agendaAbility.system are defined + if (!agendaAbility || !agendaAbility.system) { + console.error("Agenda ability or agenda ability system is undefined."); + ui.notifications.error("Agenda ability or agenda ability system is undefined. Please check your setup."); + return; + } + console.log("Agenda ability and agenda ability system are defined."); + + const abilityList = this.actor.system.currentAgendaAbilities || []; + console.log("Current Ability List:", abilityList); + abilityList.push(agendaAbility.id); + console.log("Updated Ability List:", abilityList); + this.actor.update({ 'system.currentAgendaAbilities': abilityList + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); }); } _onDropBlasphemy(event, blasphemy) { - const blasphemyList = this.actor.system.currentBlasphemies; - if (blasphemyList.includes(blasphemy.id)) return; + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + const blasphemyList = this.actor.system.currentBlasphemies || []; + console.log("Current Blasphemies:", blasphemyList); + + // Check if the blasphemy is already in the list + if (blasphemyList.includes(blasphemy.id)) { + console.log("Blasphemy already exists:", blasphemy.id); + return; + } + + // Add the new blasphemy to the list blasphemyList.push(blasphemy.id); - const BlasphemyPowersList = this.actor.system.currentBlasphemyPowers; - const newBlasphemyPowersList = BlasphemyPowersList.concat(this._getItemsFromIDs(blasphemy.system.powers).filter(power => {return power.system.isPassive;}).map(power => {return power.id;})); + console.log("Updated Blasphemies:", blasphemyList); + + // Get the current list of blasphemy powers + const blasphemyPowersList = this.actor.system.currentBlasphemyPowers || []; + console.log("Current Blasphemy Powers:", blasphemyPowersList); + + console.log(blasphemy.system); + + // Get the new blasphemy powers that are passive + const newBlasphemyPowers = this._getItemsFromIDs(blasphemy.system.powers || []) + .filter(power => { + console.log("Inspecting power:", power); + if (!power || !power.system) { + console.error("Power or power system is undefined:", power); + ui.notifications.error("Some powers are undefined. Did you import the compendium to keep document IDs?"); + return false; + } + const isPassive = power.system.isPassive; + console.log("Is power passive?", isPassive); + return isPassive; + }) + .map(power => { + console.log("Mapping power to ID:", power.id); + return power.id; + }); + + console.log("New Blasphemy Powers:", newBlasphemyPowers); + + // Combine the current and new blasphemy powers + const newBlasphemyPowersList = blasphemyPowersList.concat(newBlasphemyPowers); + console.log("Updated Blasphemy Powers:", newBlasphemyPowersList); + + // Update the actor with the new lists this.actor.update({ - 'system.currentBlasphemies' : blasphemyList, - 'system.currentBlasphemyPowers' : newBlasphemyPowersList + 'system.currentBlasphemies': blasphemyList, + 'system.currentBlasphemyPowers': newBlasphemyPowersList + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); }); } - + _onDropBlasphemyPower(event, blasphemyPower) { - const BlasphemyPowersList = this.actor.system.currentBlasphemyPowers; - if (BlasphemyPowersList.includes(blasphemyPower.id)) return; - BlasphemyPowersList.push(blasphemyPower.id); + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + // Ensure blasphemyPower and blasphemyPower.system are defined + if (!blasphemyPower || !blasphemyPower.system) { + console.error("Blasphemy power or blasphemy power system is undefined."); + ui.notifications.error("Blasphemy power or blasphemy power system is undefined. Please check your setup."); + return; + } + console.log("Blasphemy power and blasphemy power system are defined."); + + const blasphemyPowersList = this.actor.system.currentBlasphemyPowers || []; + console.log("Current Blasphemy Powers List:", blasphemyPowersList); + + // Check if the blasphemy power is already in the list + if (blasphemyPowersList.includes(blasphemyPower.id)) { + console.log("Blasphemy power already exists:", blasphemyPower.id); + return; + } + + // Add the new blasphemy power to the list + blasphemyPowersList.push(blasphemyPower.id); + console.log("Updated Blasphemy Powers List:", blasphemyPowersList); + + // Update the actor with the new list this.actor.update({ - 'system.currentBlasphemyPowers' : BlasphemyPowersList + 'system.currentBlasphemyPowers': blasphemyPowersList + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); }); } diff --git a/packs/agenda/000059.log b/packs/agenda/000065.log similarity index 100% rename from packs/agenda/000059.log rename to packs/agenda/000065.log diff --git a/packs/agenda/CURRENT b/packs/agenda/CURRENT index 717cf9a..5d746f2 100644 --- a/packs/agenda/CURRENT +++ b/packs/agenda/CURRENT @@ -1 +1 @@ -MANIFEST-000058 +MANIFEST-000064 diff --git a/packs/agenda/LOG b/packs/agenda/LOG index 37055f5..d795a85 100644 --- a/packs/agenda/LOG +++ b/packs/agenda/LOG @@ -1,3 +1,3 @@ -2024/08/29-08:59:55.844 2da0 Recovering log #57 -2024/08/29-08:59:55.850 2da0 Delete type=0 #57 -2024/08/29-08:59:55.850 2da0 Delete type=3 #56 +2024/08/29-10:26:56.602254 ffff99fbf120 Recovering log #62 +2024/08/29-10:26:56.629705 ffff99fbf120 Delete type=0 #62 +2024/08/29-10:26:56.629903 ffff99fbf120 Delete type=3 #60 diff --git a/packs/agenda/LOG.old b/packs/agenda/LOG.old index d7b3b3f..e84c7ed 100644 --- a/packs/agenda/LOG.old +++ b/packs/agenda/LOG.old @@ -1,3 +1,8 @@ -2024/08/25-05:39:35.236025 ffff8dfbf120 Recovering log #54 -2024/08/25-05:39:35.264440 ffff8dfbf120 Delete type=3 #52 -2024/08/25-05:39:35.264804 ffff8dfbf120 Delete type=0 #54 +2024/08/29-10:26:24.138601 ffff9afdf120 Recovering log #59 +2024/08/29-10:26:24.162801 ffff9afdf120 Delete type=0 #59 +2024/08/29-10:26:24.163000 ffff9afdf120 Delete type=3 #58 +2024/08/29-10:26:34.951860 ffff98e1e120 Level-0 table #63: started +2024/08/29-10:26:34.951991 ffff98e1e120 Level-0 table #63: 0 bytes OK +2024/08/29-10:26:34.959208 ffff98e1e120 Delete type=0 #61 +2024/08/29-10:26:34.978078 ffff98e1e120 Manual compaction at level-0 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) +2024/08/29-10:26:34.998963 ffff98e1e120 Manual compaction at level-1 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) diff --git a/packs/agenda/MANIFEST-000058 b/packs/agenda/MANIFEST-000064 similarity index 68% rename from packs/agenda/MANIFEST-000058 rename to packs/agenda/MANIFEST-000064 index b7282de2ee416b59b437695ba01d3e64b700f1f3..43ef68164b66a3b96120a5c0bbbb88368d18eebf 100644 GIT binary patch delta 22 dcmdnZxSMgp8vf`DWt%w|7?~V78JL||%m7#Y1?&I- delta 22 dcmdnZxSMgp8vfAVa<@4c7@4d&8JKNY%m7y@1=Rom diff --git a/packs/agenda2/000005.ldb b/packs/agenda2/000005.ldb deleted file mode 100644 index 98ee02e2819a1d00a07b3b88202bc421906b991f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9875 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 diff --git a/packs/agenda2/000027.ldb b/packs/agenda2/000027.ldb deleted file mode 100644 index 0b2404d411a3e759f6cc85366abbebfa07c96922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28729 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 literal 0 HcmV?d00001 diff --git a/packs/agenda2/000028.log b/packs/agenda2/000036.log similarity index 100% rename from packs/agenda2/000028.log rename to packs/agenda2/000036.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index 8b15215..29a53d8 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000026 +MANIFEST-000035 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index 451e57d..b2d143d 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,5 +1,3 @@ -2024/08/29-08:59:55.893 5008 Recovering log #25 -2024/08/29-08:59:55.893 5008 Level-0 table #27: started -2024/08/29-08:59:55.899 5008 Level-0 table #27: 28729 bytes OK -2024/08/29-08:59:55.905 5008 Delete type=0 #25 -2024/08/29-08:59:55.906 5008 Delete type=3 #24 +2024/08/29-10:26:56.641788 ffff9a7cf120 Recovering log #31 +2024/08/29-10:26:56.672961 ffff9a7cf120 Delete type=3 #29 +2024/08/29-10:26:56.673379 ffff9a7cf120 Delete type=0 #31 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index afcfdfc..9cad6fa 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,3 +1,21 @@ -2024/08/29-01:56:07.831 bb2c Recovering log #23 -2024/08/29-01:56:07.837 bb2c Delete type=0 #23 -2024/08/29-01:56:07.837 bb2c Delete type=3 #22 +2024/08/29-10:26:24.174818 ffff99fbf120 Recovering log #28 +2024/08/29-10:26:24.202511 ffff99fbf120 Delete type=0 #28 +2024/08/29-10:26:24.202773 ffff99fbf120 Delete type=3 #26 +2024/08/29-10:26:34.968545 ffff98e1e120 Level-0 table #32: started +2024/08/29-10:26:34.968731 ffff98e1e120 Level-0 table #32: 0 bytes OK +2024/08/29-10:26:34.977668 ffff98e1e120 Delete type=0 #30 +2024/08/29-10:26:34.978249 ffff98e1e120 Manual compaction at level-0 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at '!items!zZFPaBUSRswOimI7' @ 87 : 0 +2024/08/29-10:26:34.978299 ffff98e1e120 Compacting 1@0 + 0@1 files +2024/08/29-10:26:34.989836 ffff98e1e120 Generated table #33@0: 125 keys, 28141 bytes +2024/08/29-10:26:34.989920 ffff98e1e120 Compacted 1@0 + 0@1 files => 28141 bytes +2024/08/29-10:26:34.997781 ffff98e1e120 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/08/29-10:26:34.998388 ffff98e1e120 Delete type=2 #27 +2024/08/29-10:26:34.999709 ffff98e1e120 Manual compaction at level-0 from '!items!zZFPaBUSRswOimI7' @ 87 : 0 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/08/29-10:26:35.023766 ffff98e1e120 Manual compaction at level-1 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at '!items!zZFPaBUSRswOimI7' @ 106 : 1 +2024/08/29-10:26:35.023850 ffff98e1e120 Compacting 1@1 + 1@2 files +2024/08/29-10:26:35.036660 ffff98e1e120 Generated table #34@1: 125 keys, 28141 bytes +2024/08/29-10:26:35.036744 ffff98e1e120 Compacted 1@1 + 1@2 files => 28141 bytes +2024/08/29-10:26:35.042882 ffff98e1e120 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/29-10:26:35.043805 ffff98e1e120 Delete type=2 #5 +2024/08/29-10:26:35.044303 ffff98e1e120 Delete type=2 #33 +2024/08/29-10:26:35.081083 ffff98e1e120 Manual compaction at level-1 from '!items!zZFPaBUSRswOimI7' @ 106 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) diff --git a/packs/agenda2/MANIFEST-000026 b/packs/agenda2/MANIFEST-000026 deleted file mode 100644 index 8ce1dd5bb73e70e215c2ed95b0c5c88536409539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmbQl&cmC`z{n_-lUkOVlai$8R9TW*o>`pgoS$2eSd>_jU&PMDI@woIF)cqQCAFwn z(b>nf+&I!Bw>&w@KRh5UmywA94CECvOHy--6|17$0ur4YjH diff --git a/packs/agenda2/MANIFEST-000035 b/packs/agenda2/MANIFEST-000035 new file mode 100644 index 0000000000000000000000000000000000000000..e8d92323efc57c46040a40a302e69a95130cf1f9 GIT binary patch literal 191 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 diff --git a/packs/blasphemy2/000028.ldb b/packs/blasphemy2/000035.ldb similarity index 56% rename from packs/blasphemy2/000028.ldb rename to packs/blasphemy2/000035.ldb index 4102993313d0e8c99a6215214ef922964e07931d..92a19f05f7bf640a0eb11d9817079fc2169d48ff 100644 GIT binary patch delta 6390 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 delta 6779 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 48976 bytes +2024/08/29-10:26:35.079221 ffff98e1e120 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/08/29-10:26:35.080108 ffff98e1e120 Delete type=2 #25 +2024/08/29-10:26:35.080571 ffff98e1e120 Delete type=2 #28 +2024/08/29-10:26:35.081543 ffff98e1e120 Manual compaction at level-0 from '!items!zWyiMAc1vXBKa6Oa' @ 52 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/08/29-10:26:35.093995 ffff98e1e120 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 129 : 1 +2024/08/29-10:26:35.094056 ffff98e1e120 Compacting 1@1 + 1@2 files +2024/08/29-10:26:35.113586 ffff98e1e120 Generated table #35@1: 87 keys, 48710 bytes +2024/08/29-10:26:35.113680 ffff98e1e120 Compacted 1@1 + 1@2 files => 48710 bytes +2024/08/29-10:26:35.121304 ffff98e1e120 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/29-10:26:35.122207 ffff98e1e120 Delete type=2 #21 +2024/08/29-10:26:35.122692 ffff98e1e120 Delete type=2 #34 +2024/08/29-10:26:35.143646 ffff98e1e120 Manual compaction at level-1 from '!items!ziiFc860EZanavt1' @ 129 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) diff --git a/packs/blasphemy2/MANIFEST-000027 b/packs/blasphemy2/MANIFEST-000027 deleted file mode 100644 index 3543780074e6dfadfea0956ec64234fe1ccef7e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmaD~X|-h)10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei1u^bP zMT4LULj&V7OG}>+w|w7_07g3oFpyWwEJ@8RR;&uI%=C3kHY|&9@=i4KPh>QK$g?wv z-j_!hW0sj_?&F*78kCoOjdT0hhIujmP@W{sZpSlB_kU|-Z#$mWgr71 vlPo6#vmDEEMs^07E&rJi=3+Q+IjXr;nVD|M7G?&nQHgnpWhI7;jSzVN^Swvh diff --git a/packs/blasphemy2/MANIFEST-000036 b/packs/blasphemy2/MANIFEST-000036 new file mode 100644 index 0000000000000000000000000000000000000000..218d14f5ed1d522c95b8581c0a2d1486569f8e88 GIT binary patch literal 191 zcmb>5SM0Nbfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?Dl^k9 z*}}}gH7YSLv8=?9v5^4`SQ!baU}sW3_J>JPF)cqQCAFwn(IBY8(7?FN($XiyE#EgJ cfN?p*Btqu2bje0?GB7f!axyThu`Fi<0D7%6`v3p{ literal 0 HcmV?d00001 diff --git a/packs/items/000060.log b/packs/items/000066.log similarity index 100% rename from packs/items/000060.log rename to packs/items/000066.log diff --git a/packs/items/CURRENT b/packs/items/CURRENT index e4c5073..625c880 100644 --- a/packs/items/CURRENT +++ b/packs/items/CURRENT @@ -1 +1 @@ -MANIFEST-000059 +MANIFEST-000065 diff --git a/packs/items/LOG b/packs/items/LOG index 5bb07c9..6b562b9 100644 --- a/packs/items/LOG +++ b/packs/items/LOG @@ -1,3 +1,3 @@ -2024/08/29-08:59:55.829 5848 Recovering log #58 -2024/08/29-08:59:55.833 5848 Delete type=0 #58 -2024/08/29-08:59:55.833 5848 Delete type=3 #57 +2024/08/29-10:26:56.565025 ffff9afdf120 Recovering log #63 +2024/08/29-10:26:56.587386 ffff9afdf120 Delete type=3 #61 +2024/08/29-10:26:56.587721 ffff9afdf120 Delete type=0 #63 diff --git a/packs/items/LOG.old b/packs/items/LOG.old index 529bd3d..83902e0 100644 --- a/packs/items/LOG.old +++ b/packs/items/LOG.old @@ -1,3 +1,8 @@ -2024/08/25-05:39:35.194578 ffff8efdf120 Recovering log #55 -2024/08/25-05:39:35.222310 ffff8efdf120 Delete type=3 #53 -2024/08/25-05:39:35.222703 ffff8efdf120 Delete type=0 #55 +2024/08/29-10:26:24.096986 ffff997af120 Recovering log #60 +2024/08/29-10:26:24.123449 ffff997af120 Delete type=0 #60 +2024/08/29-10:26:24.123712 ffff997af120 Delete type=3 #59 +2024/08/29-10:26:34.959531 ffff98e1e120 Level-0 table #64: started +2024/08/29-10:26:34.959717 ffff98e1e120 Level-0 table #64: 0 bytes OK +2024/08/29-10:26:34.968240 ffff98e1e120 Delete type=0 #62 +2024/08/29-10:26:34.978157 ffff98e1e120 Manual compaction at level-0 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) +2024/08/29-10:26:34.999593 ffff98e1e120 Manual compaction at level-1 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) diff --git a/packs/items/MANIFEST-000059 b/packs/items/MANIFEST-000065 similarity index 67% rename from packs/items/MANIFEST-000059 rename to packs/items/MANIFEST-000065 index dbb93bff35e69e06d69b010ed3f508f92553a7e7..b87e49c971272b21b463afc147cd6d5cecdbd277 100644 GIT binary patch delta 23 ecmdnTxQ}tdI)Tjm&KaBxj7(0P49w0f6Bq$nO9l7< delta 23 fcmdnTxQ}tdI)SG@5C7m~U}Uo4WMH;snZO7Dapeb$ diff --git a/packs/tables/000059.log b/packs/tables/000065.log similarity index 100% rename from packs/tables/000059.log rename to packs/tables/000065.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index 717cf9a..5d746f2 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000058 +MANIFEST-000064 diff --git a/packs/tables/LOG b/packs/tables/LOG index 38906a4..1cdfeee 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,3 +1,3 @@ -2024/08/29-08:59:56.005 2da0 Recovering log #57 -2024/08/29-08:59:56.007 2da0 Delete type=0 #57 -2024/08/29-08:59:56.008 2da0 Delete type=3 #56 +2024/08/29-10:26:56.771772 ffff99fbf120 Recovering log #62 +2024/08/29-10:26:56.800428 ffff99fbf120 Delete type=0 #62 +2024/08/29-10:26:56.800696 ffff99fbf120 Delete type=3 #60 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index bada782..7ec989d 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,3 +1,8 @@ -2024/08/25-05:39:35.327081 ffff8f7ef120 Recovering log #54 -2024/08/25-05:39:35.353747 ffff8f7ef120 Delete type=3 #52 -2024/08/25-05:39:35.353947 ffff8f7ef120 Delete type=0 #54 +2024/08/29-10:26:24.289452 ffff9afdf120 Recovering log #59 +2024/08/29-10:26:24.319884 ffff9afdf120 Delete type=0 #59 +2024/08/29-10:26:24.320167 ffff9afdf120 Delete type=3 #58 +2024/08/29-10:26:35.044729 ffff98e1e120 Level-0 table #63: started +2024/08/29-10:26:35.044965 ffff98e1e120 Level-0 table #63: 0 bytes OK +2024/08/29-10:26:35.056815 ffff98e1e120 Delete type=0 #61 +2024/08/29-10:26:35.081332 ffff98e1e120 Manual compaction at level-0 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) +2024/08/29-10:26:35.081636 ffff98e1e120 Manual compaction at level-1 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) diff --git a/packs/tables/MANIFEST-000058 b/packs/tables/MANIFEST-000064 similarity index 71% rename from packs/tables/MANIFEST-000058 rename to packs/tables/MANIFEST-000064 index e74ebc72559d04ee637abb10bbebf17b81b23e5b..f8dc702f2d4d4bc3ed2b051e564738c8b2e41844 100644 GIT binary patch delta 23 ecmeBX>SmhoTfl5?xf~}0Ba delta 23 ecmeBX>SmhoTi{~an?_CsMkZ@c24)+UrHlY!DF%}O From 6fc1b9fc1d3151941bd6de24919ee3e1a632bce8 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 12:12:00 -0400 Subject: [PATCH 028/103] The Blasphemies are gettiung huge yupdate to aesthetics --- module/sheets/actor-sheet.mjs | 48 ++++- templates/actor/parts/actor-abilities.hbs | 221 +++++++++++++++------- 2 files changed, 201 insertions(+), 68 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 7ec0328..1dc5a33 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -276,6 +276,17 @@ export class CainActorSheet extends ActorSheet { this._openAgendaItemSheet(itemId); }); + html.find('.blasphemy-passive').on('click', (event) => { + const itemId = $(event.currentTarget).data('id'); // Get the blasphemy passive ID + this._openBlasphemyItemSheet(itemId); + }); + + html.find('.blasphemy-power').on('click', (event) => { + const itemId = $(event.currentTarget).data('id'); // Get the blasphemy power ID + this._openBlasphemyItemSheet(itemId); + }); + + html.find('#selectedPower').on('change', this._onPowerSelect.bind(this)); html.find('.abilities-page-drop-target').on('drop', async event => { event.preventDefault(); @@ -301,7 +312,7 @@ export class CainActorSheet extends ActorSheet { console.warn("Invalid drop type on ability page: " + itemDrop.type); } }); -html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); + html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); // Bind the send to chat functions html.find('.agenda-task-to-chat').click(this._sendAgendaTaskMessage.bind(this)); html.find('.agenda-ability-to-chat').click(this._sendAgendaAbilityMessage.bind(this)); @@ -315,8 +326,29 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); const sinType = event.target.value; this._onSinTypeSelect(sinType); }); + + const selectedPowerElement = html.find('#selectedPower')[0]; + if (selectedPowerElement) { + this._onPowerSelect({ target: selectedPowerElement }); + } + } + _onPowerSelect(event) { + const selectElement = event.target; + if (selectElement.options.length === 0) { + document.getElementById('powerDescription').innerText = 'There are no more selectable powers.'; + document.getElementById('powerKeywords').innerText = 'None'; + return; + } + + const selectedOption = selectElement.options[selectElement.selectedIndex]; + const description = selectedOption.getAttribute('data-description'); + const keywords = selectedOption.getAttribute('data-keywords'); + document.getElementById('powerDescription').innerText = description; + document.getElementById('powerKeywords').innerText = keywords ? keywords.split(',').join(', ') : ''; + } + _openAgendaItemSheet(itemId) { // Logic to open the agenda item sheet @@ -335,6 +367,16 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); } } + _openBlasphemyItemSheet(itemId) { + // Logic to open the blasphemy item sheet + console.log(`Opening blasphemy item sheet for item ID: ${itemId}`); + const item = Item.get(itemId); + console.log(item); + if (item) { + item.sheet.render(true); + } + } + _onDropAgenda(event, agenda) { // Ensure this.actor and this.actor.system are defined if (!this.actor || !this.actor.system) { @@ -552,7 +594,7 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); _addAgendaAbility(event) { event.preventDefault(); - const abilityID = event.currentTarget.parentElement.querySelector('#selectedItem').value; + const abilityID = event.currentTarget.parentElement.querySelector('#selectedAgenda').value; const currentAbilities = this.actor.system.currentAgendaAbilities; if (currentAbilities.includes(abilityID)) return; currentAbilities.push(abilityID); @@ -562,7 +604,7 @@ html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); _addBlasphemyPower(event) { event.preventDefault(); - const powerID = event.currentTarget.parentElement.querySelector('#selectedItem').value; + const powerID = event.currentTarget.parentElement.querySelector('#selectedPower').value; const currentPowers = this.actor.system.currentBlasphemyPowers; if (currentPowers.includes(powerID)) return; currentPowers.push(powerID); diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index cd539e3..eb90aa0 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -90,8 +90,8 @@ {{/each}}
    - - {{#each currentAgendaAvailableAbilities}} {{/each}} @@ -102,35 +102,70 @@
    -
    - -
    -

    Blasphemies

    - {{#each blasphemyData}} -
    -

    {{blasphemy.system.blasphemyName}} +
    + +
    +

    Blasphemies

    + {{#each blasphemyData}} +
    +
    + Blasphemy Image +

    {{blasphemy.system.blasphemyName}} -

    - Blasphemy Image -

    Passive{{#if (gt passives.length 1)}}s{{/if}}

    -
      - {{#each passives}} -
    • - {{this.system.powerName}} - - - - - - -
    • - {{/each}} -
    -

    Powers

    -
      - {{#each powers}} +

    +
    +
    +

    Passive{{#if (gt passives.length 1)}}s{{/if}}

    +
      + {{#each passives}} +
    • + {{this.system.powerName}} + + + + + + +
    • + {{/each}} +
    +

    Powers

    +
      + {{#each powers}} +
    • + {{this.system.powerName}} + + + + + + +
    • + {{/each}} +
    +
    + + + +
    +
    +

    Power Description

    +

    +

    Keywords

    +

    +
    + {{/each}} + {{#if currentUnlinkedBlasphemyPowers.length}} +
    +

    Other Powers

    + -
    - - - +
    + {{/if}}
    - - {{/each}} - {{#if currentUnlinkedBlasphemyPowers.length}} -
    -

    Other Powers

    -
      - {{#each currentUnlinkedBlasphemyPowers}} -
    • - {{this.system.powerName}} - - - - - - -
    • - {{/each}} -
    - {{/if}}
    -
    -
    +
    +
    \ No newline at end of file From db7dbe5d132f45c1e1455097782126d9b377ddcd Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 12:54:49 -0400 Subject: [PATCH 029/103] Added in same logic for available abilities as well --- module/sheets/actor-sheet.mjs | 28 ++++++- templates/actor/parts/actor-abilities.hbs | 96 ++++++++++++++++++++--- 2 files changed, 111 insertions(+), 13 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 1dc5a33..41eba32 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -286,8 +286,6 @@ export class CainActorSheet extends ActorSheet { this._openBlasphemyItemSheet(itemId); }); - html.find('#selectedPower').on('change', this._onPowerSelect.bind(this)); - html.find('.abilities-page-drop-target').on('drop', async event => { event.preventDefault(); const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); @@ -332,8 +330,34 @@ export class CainActorSheet extends ActorSheet { this._onPowerSelect({ target: selectedPowerElement }); } + // Call _onAbilitySelect when the sheet is loaded + const selectedAbilityElement = html.find('#selectedAgenda')[0]; + if (selectedAbilityElement) { + this._onAbilitySelect({ target: selectedAbilityElement }); + } + + html.find('#selectedPower').on('change', this._onPowerSelect.bind(this)); + + // Event listener for selectedAgenda + html.find('#selectedAgenda').change(this._onAbilitySelect.bind(this)); + } + _onAbilitySelect(event) { + const selectElement = event.target; + if (selectElement.options.length === 0) { + document.getElementById('abilityDescription').innerText = 'No more available Abilites'; + return; + } + + const selectedOption = selectElement.options[selectElement.selectedIndex]; + console.log(selectedOption); + const description = selectedOption.getAttribute('data-description'); + console.log(description); + document.getElementById('abilityDescription').innerText = description; + } + + _onPowerSelect(event) { const selectElement = event.target; if (selectElement.options.length === 0) { diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index eb90aa0..a2f107d 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -89,15 +89,21 @@
  • {{/each}} -
    - - - +
    +
    + +
    + +
    +
    +

    Ability Description

    +

    +
    @@ -106,6 +112,11 @@

    Blasphemies

    + {{#unless blasphemyData}} +
    +

    Drag blasphemy onto your sheet.

    +
    + {{/unless}} {{#each blasphemyData}}
    @@ -133,6 +144,9 @@

    Powers

      + {{#unless powers}} +
    • No Powers
    • + {{/unless}} {{#each powers}}
    • {{this.system.powerName}} @@ -146,7 +160,7 @@ {{/each}}
    - + +
    -
    -

    Power Description

    -

    +

    Keywords

    -

    +

    +

    Power Description

    +

    {{/each}} {{#if currentUnlinkedBlasphemyPowers.length}} From 89ae3e4333bdd4d50f7636a99c9b61a51403b56e Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Thu, 29 Aug 2024 16:53:37 -0500 Subject: [PATCH 031/103] Bugfix for homebrew window enabling passives --- module/cain.mjs | 10 ++++++++++ module/documents/homebrew-window.mjs | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/module/cain.mjs b/module/cain.mjs index 861ba62..6d87ece 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -168,6 +168,16 @@ Handlebars.registerHelper('times', function(n, block) { return accum; }); +Handlebars.registerHelper('formatted', function(text) { + // Check if the text is defined and is a string + if (typeof text === 'string') { + // Replace all newlines with
    tags + return new Handlebars.SafeString(text.replace(/\n/g, '
    ')); + } else { + return text; // Return the text as is if it's not a string + } +}); + Handlebars.registerHelper('json', function(context) { return JSON.stringify(context); diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs index 2c15663..4869749 100644 --- a/module/documents/homebrew-window.mjs +++ b/module/documents/homebrew-window.mjs @@ -127,6 +127,7 @@ export class HomebrewWindow extends Application { html.find('.homebrew-blasphemy-name-input').change(this._onChangeBlasphemyName.bind(this)); html.find('.homebrew-new-power').click(this._onCreateNewPower.bind(this)); html.find('.homebrew-power-name-input').change(this._onChangePowerName.bind(this)); + html.find('.homebrew-power-passive-input').change(this._onChangePowerPassive.bind(this)); html.find('.homebrew-power-tags-input').change(this._onChangePowerTags.bind(this)); html.find('.homebrew-power-input').change(this._onChangePowerDescription.bind(this)); html.find('.homebrew-remove-power').click(this._onRemovePower.bind(this)); @@ -175,6 +176,13 @@ export class HomebrewWindow extends Application { this.render(true); } + _onChangePowerPassive(event) { + event.preventDefault(); + const powerIndex = event.currentTarget.getAttribute('data-power-index'); + this.blasphemyOptions.powers[powerIndex].isPassive = event.currentTarget.checked; + this.render(true); + } + _onChangePowerTags(event) { event.preventDefault(); const powerIndex = event.currentTarget.getAttribute('data-power-index'); From d0ad4b44969dae74940659b23adfe0a10526268e Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Thu, 29 Aug 2024 16:54:12 -0500 Subject: [PATCH 032/103] added formatting for power descriptions --- templates/item/parts/item-blasphemy-power-sheet.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index 38258e8..4776148 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -1,4 +1,4 @@ -
    +
    @@ -21,6 +21,6 @@ {{!-- Sheet Body --}}
    - {{system.powerDescription}} + {{#formatted system.powerDescription}}{{/formatted}}
    \ No newline at end of file From 62f59c4a283f52c3a1e17a89f105748b0621e857 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Thu, 29 Aug 2024 16:58:42 -0500 Subject: [PATCH 033/103] fixed image icons appearing in blasphemy sheets --- templates/item/item-blasphemyPower-sheet.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/item/item-blasphemyPower-sheet.hbs b/templates/item/item-blasphemyPower-sheet.hbs index 7cfc07c..39a67f0 100644 --- a/templates/item/item-blasphemyPower-sheet.hbs +++ b/templates/item/item-blasphemyPower-sheet.hbs @@ -1,5 +1,5 @@ -{{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} +{{> blasphemyPower item classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} \ No newline at end of file From 07cee8497be243c8cc4373df20456ced2ab4a0da Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Thu, 29 Aug 2024 20:40:41 -0400 Subject: [PATCH 037/103] Added in disable / enable animations for page. --- module/sheets/actor-sheet.mjs | 26 +++- templates/actor/parts/actor-abilities.hbs | 175 +++++++++++++--------- 2 files changed, 127 insertions(+), 74 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index dd5d7bc..ceefe72 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -276,17 +276,29 @@ export class CainActorSheet extends ActorSheet { this._openAgendaItemSheet(itemId); }); - html.find('.blasphemy-passive').on('click', (event) => { + // Event delegation for blasphemy-passive + html.on('click', '.blasphemy-passive', (event) => { const card = event.target.parentElement.parentElement.querySelector('.power-description-card'); - const randomRotation = Math.random() * 6 - 3; // Random rotation between -3 and 3 degrees - card.style.transform = `scale(0.95) rotate(${randomRotation}deg)`; + const disableAnimations = document.getElementById('toggle-animation').checked; + if (!disableAnimations) { + const randomRotation = Math.random() * 6 - 3; // Random rotation between -3 and 3 degrees + card.style.transform = `scale(0.95) rotate(${randomRotation}deg)`; + } else { + card.style.transform = 'none'; + } card.classList.toggle('visible'); }); - - html.find('.blasphemy-power').on('click', (event) => { + + // Event delegation for blasphemy-power + html.on('click', '.blasphemy-power', (event) => { const card = event.target.parentElement.parentElement.querySelector('.power-description-card'); - const randomRotation = Math.random() * 6 - 3; // Random rotation between -3 and 3 degrees - card.style.transform = `scale(0.95) rotate(${randomRotation}deg)`; + const disableAnimations = document.getElementById('toggle-animation').checked; + if (!disableAnimations) { + const randomRotation = Math.random() * 6 - 3; // Random rotation between -3 and 3 degrees + card.style.transform = `scale(0.95) rotate(${randomRotation}deg)`; + } else { + card.style.transform = 'none'; + } card.classList.toggle('visible'); }); diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index 0d34178..c539c84 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -109,72 +109,79 @@
    - -
    -

    Blasphemies

    - {{#unless blasphemyData}} -
    -

    Drag blasphemy onto your sheet.

    + +
    +

    Blasphemies

    + {{#unless blasphemyData}} +
    +

    Drag blasphemy onto your sheet.

    +
    + {{/unless}} + {{#each blasphemyData}} +
    +
    + Blasphemy Image +

    {{blasphemy.system.blasphemyName}} + + + + + + + +

    - {{/unless}} - {{#each blasphemyData}} -
    -
    - Blasphemy Image -

    {{blasphemy.system.blasphemyName}} - - - -

    -
    -
    -

    Passive{{#if (gt passives.length 1)}}s{{/if}}

    -
      - {{#each passives}} -
    • -

      - {{this.system.powerName}} - - - - - - -

      -
      -

      Keywords

      -

      {{this.system.keywords}}

      -

      Power Description

      -

      {{#formatted this.system.powerDescription}}{{/formatted}}

      -
      -
    • - {{/each}} -
    -

    Powers

    -
      - {{#unless powers}} -
    • No Powers
    • - {{/unless}} - {{#each powers}} -
    • -

      - {{this.system.powerName}} - - - - - - -

      -
      -

      Keywords

      -

      {{this.system.keywords}}

      -

      Power Description

      -

      {{#formatted this.system.powerDescription}}{{/formatted}}

      -
      -
    • - {{/each}} -
    +
    +

    Passive{{#if (gt passives.length 1)}}s{{/if}}

    +
      + {{#each passives}} +
    • +

      + {{this.system.powerName}} + + + + + + +

      +
      +

      Keywords

      +

      {{this.system.keywords}}

      +

      Power Description

      +

      {{#formatted this.system.powerDescription}}{{/formatted}}

      +
      +
    • + {{/each}} +
    +

    Powers

    +
      + {{#unless powers}} +
    • No Powers
    • + {{/unless}} + {{#each powers}} +
    • +

      + {{this.system.powerName}} + + + + + + +

      +
      +

      Keywords

      +

      {{this.system.keywords}}

      +

      Power Description

      +

      {{#formatted this.system.powerDescription}}{{/formatted}}

      +
      +
    • + {{/each}} +
      {{#each blasphemyOptions.powers}} -
    • - - - - -
      - - - +
    • +
      + +
      -
    • +
      + + +
      +
      + + +
      +
      + + +
      +
      + + + +
      + {{/each}}
    -
    +
    - \ No newline at end of file + + + \ No newline at end of file From 61aa4672f9a7d8c764bd08802e3b5e94924ec716 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Thu, 29 Aug 2024 23:26:00 -0500 Subject: [PATCH 041/103] updated blasphemy pack --- packs/blasphemy2/000055.log | Bin 0 -> 107278 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packs/blasphemy2/000055.log b/packs/blasphemy2/000055.log index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d2a65ef9c14907616ca06307cb7d7fe4dec6a2ca 100644 GIT binary patch literal 107278 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 G@Bar4@dhUV literal 0 HcmV?d00001 From 13cb9d297b95824db2d278ce770795399f5865cc Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Thu, 29 Aug 2024 23:27:12 -0500 Subject: [PATCH 042/103] Might have needed to do this to capture all the pack data --- packs/agenda2/{000054.log => 000056.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 +++--- packs/agenda2/LOG.old | 11 +++-------- .../{MANIFEST-000053 => MANIFEST-000055} | Bin 191 -> 191 bytes packs/blasphemy2/000055.log | Bin 107278 -> 0 bytes packs/blasphemy2/000057.ldb | Bin 0 -> 54148 bytes packs/blasphemy2/000058.log | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 8 +++++--- packs/blasphemy2/LOG.old | 11 +++-------- packs/blasphemy2/MANIFEST-000054 | Bin 191 -> 0 bytes packs/blasphemy2/MANIFEST-000056 | Bin 0 -> 263 bytes 13 files changed, 16 insertions(+), 24 deletions(-) rename packs/agenda2/{000054.log => 000056.log} (100%) rename packs/agenda2/{MANIFEST-000053 => MANIFEST-000055} (67%) delete mode 100644 packs/blasphemy2/000055.log create mode 100644 packs/blasphemy2/000057.ldb create mode 100644 packs/blasphemy2/000058.log delete mode 100644 packs/blasphemy2/MANIFEST-000054 create mode 100644 packs/blasphemy2/MANIFEST-000056 diff --git a/packs/agenda2/000054.log b/packs/agenda2/000056.log similarity index 100% rename from packs/agenda2/000054.log rename to packs/agenda2/000056.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index 774dcea..8355b42 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000053 +MANIFEST-000055 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index a9754f1..b9fd030 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +1,3 @@ -2024/08/29-21:31:23.088 33d4 Recovering log #51 -2024/08/29-21:31:23.094 33d4 Delete type=0 #51 -2024/08/29-21:31:23.094 33d4 Delete type=3 #49 +2024/08/29-23:26:15.008 bab0 Recovering log #54 +2024/08/29-23:26:15.015 bab0 Delete type=0 #54 +2024/08/29-23:26:15.015 bab0 Delete type=3 #53 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index 1c3c174..a9754f1 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,8 +1,3 @@ -2024/08/29-18:03:28.040 1140 Recovering log #47 -2024/08/29-18:03:28.049 1140 Delete type=0 #47 -2024/08/29-18:03:28.049 1140 Delete type=3 #45 -2024/08/29-21:29:41.250 4784 Level-0 table #52: started -2024/08/29-21:29:41.251 4784 Level-0 table #52: 0 bytes OK -2024/08/29-21:29:41.253 4784 Delete type=0 #50 -2024/08/29-21:29:41.257 4784 Manual compaction at level-0 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) -2024/08/29-21:29:41.257 4784 Manual compaction at level-1 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/08/29-21:31:23.088 33d4 Recovering log #51 +2024/08/29-21:31:23.094 33d4 Delete type=0 #51 +2024/08/29-21:31:23.094 33d4 Delete type=3 #49 diff --git a/packs/agenda2/MANIFEST-000053 b/packs/agenda2/MANIFEST-000055 similarity index 67% rename from packs/agenda2/MANIFEST-000053 rename to packs/agenda2/MANIFEST-000055 index 00c690811991c69f7466fd144c5224db70dd4650..486a6842e157edb3aac6305e32d87ebf43012b03 100644 GIT binary patch delta 23 fcmdnbxSw&tdVwb|mww=6U}Uo3WMH;rxylFtZ*d2e delta 23 ecmdnbxSw&tdV#K#n(v$pj7(;n49w;%R~Z3d3kHw? diff --git a/packs/blasphemy2/000055.log b/packs/blasphemy2/000055.log deleted file mode 100644 index d2a65ef9c14907616ca06307cb7d7fe4dec6a2ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107278 zcmeIbYm8)Dd*9__2Mi>LFG!XNNcGN#6733=^sC9ms-)Y*Uy%lrGEE3YBi$%v**tSqpmJ) z4x$$Sa*scI-5xfZ&!6=>y+Na0=V$%)ON}ajWgF&)YSgdv8r?yo)8+;)=(%UFr>FEk z&!1H~%}y^gS!15@ z&rZ+1diDHSt5a>%8V~%)&<(cz4a+0mv>x5<>~FP~dOMr_gZ;N}pZ(+~saa^Pmrq`u zZ1p;;?~Y%V>W#no;Vg^_dz~9ThF*Q@RAgJHi3g@)<`3yqbpDBhjX(KQU;H~>M!wL0 z6B(I0xSgJwy>N2Mrcg{|8I0{kN@!-FKtw zyUJW;G)R89-aBhtPcM{;2bI$MyZQKswavl$eGVznhAG=-r)c9W|OSx3_Ma@8{cYux z()-!+TB%WtM$z=_+ohNN?f8k=_V&xwZu$Mm?%KlJ-NodGmwSu1>*cLc|JCX2=;h36 z{KVYoaB+6OdHHH1+TV&^B@;Tov|l>k9Ih>`ACv}XmzVJq^Jl}iZ{Ce|kKgPRSFhgh zCO_Pqzq{$p&h|EMmM&}cWO|ln){drM%~ub$UNuGs?ZxF9Rrv{vuN zKP;a$Pdn>J?++Jl=gO;h<@kq{XzOLAzSli2wg!j$UYgtMB+KmWCW-z8G9 zTi#ljKRY1=#(SP4Rji1=B z&#ae6N3+WpC$El9wp#HI2N!#9Dr@UUx0mmCmnu6;$q$#)r)#~bcDZ=b?w-wb;vb69 z*4)`e{kU@0yV%}4yo-N0I(z%3zj0E#J=z%cPo`#)AFf{x7mhZrR*x?3PIr!n$q#q) zqwakBc(J~-b$7X#h~)djlcS}LyW_>({i%yyZ8m=5cwuE_;c#xD(^y_C?^cr~dc3)| zyK=F8xpTL)x>~=Uj-NPPDIX6PX66<)cJ~gurR0gz^}FG_jknF(Y=79>K3I;QIIFyx zYcF?>%bmroz02pnzIz!zaj`kOR_yIw zZtUGIGzOzY1~019XGaI8rRBr@)#Kf2B7+x=nS=SuH?_;_x0S`|xr?}|%k6_wuU?s+ z+SwbNv=0&hxZLh+^h<`E)|>U_)yj5n?_#sqYhETp(%M}*-0PI)YKzmO{l-x#dE)r2-I=M5qV`2J ztW75`Z}+R)b1O@;C;P`M+vVv*4BEGE-<6hDw`MncuVz>4$%5+~F0USMmrq*f=eK9A zH;D{(4|YzsPy1VMM(w?$!E_?$z2^Sx&1N)xz4rF(^m-{7-TuO;I8$A39hMebr|YZl za%FdZu(!T;ahrhtuoey17q?G0n}dF(KbyeP z@U~ZO^#+L+$C>6FitCvJ;_+1=f#*-~-m<=w$qGKjam zv(4JV%x%58_h#NV9TzteK)&0V zAJmVouRGDz(e?ac^5u8OqsI19W%~ML`CVylH+lJ8qp@CDn44NVE4544gXy2!p8jiW zr2IeopUg&@Wqp6V_MiOfum6cJzVLVdJkO*UXqMyrjXVarS{jtT1^>*p{V@OhgQ5jU z4OpC=rn@;>K=R`!Y5}F??$rDGQTOKRe0Tn3wU^QYmU`8wjlz@GwKNq$4||p~#`o0( zr1QQuW#MkZpf55Bc*@-yglIM?34+o8{f%=BWJJ$^P)R zG;DwV29bTiWFqn>Vr}tss=INubaIC#zxguy-;;^hD>X~s0cFa*VKNi>Gtoai+&?>e zH#&Pin7Ulsev@Lahpo=wJnDTmI%QumnTq_WI9NWa?ysGlw;D(5!@b$^?<7KTIBIoE zgY(g6&qekflex&Bi|+QD!{YK_ZT_+|zZq@rro^Hcwaqv6xk_F36_csRpNh9vjjg#- z@y*S~?QL(m{W7&zypJjaoR6P76WKRRW+HzkPL{Unr|=oHpOr|1#Dt4Rud+&}q2YAD3J8R3^e=FH5ywNFfJSTqsd$y+>qf(yjDf_0$jO5SA zRk_r=+uyCNZcGnH%TqJIo6Lx89*<5(j!h$PI-xnELXjBm0`kbmULRQFnQG(=4sjU(KF&4tHLrrbCvfN2epl(v&wH+1E^_ zBY!%!XEsN>hi4n-jj5&8?&fi7I%JS~bUJbjPI=Rjea&P#@~7kIq&RH1hG+8|2i@hp zUibe@_71a4JvtvbcBj1g$i8PXANlj~cDuM4y**fKzCF6z?=F}BuVg-)dFs&#$uU3W zO-S}dlL^V6kh$XC)JC<}xY=8NKes;|rRc7=Qaw5&Iaa8=8OgqBG9&pjvQ_U~&s=Vu z_Vzjl{iTid|2q+pV61v{N^*=*c~g>o)nrQYr=&EuFm>HH>CN=_W_p#2t(1^>o7JN; zl4Fy~o006BCNq*hBeSIi{(+3CX@_G9mdB(p*39 zuDrZkzd30Xmp0FiQzGImSdY#~j)f|3MzU|3%t&fRe(T@+NB_=0y#3SvkPm7rDyS`l z;%8&qf9H?HsVzx3l^^l4&vlVsq|s6)i^~$}|41n!KPvV6(V+jMR7T8?N-iSnMVGvn zR2){0EzGr~{FV4EJ1)Z}=|@1#%@3R z$3I90QOb>_@MH&&$D>*eOF79nzsPg<(|0;IZPHWD8(n>AHL8_{O_F;Ek^3O^<@GGD zc&Z6LE_!cfVN7VBe*CD=zOWLr6Zqf#J@HChANI87vdhqNeYpNvYca>*nzI&*F0m`K z7X1qK-D~vs5P`-uSx~i7vmZTwb{UOsI=!k^!n4gb8CvbZ^TJjKVPIj{YF@pU?RDB2 z7AmE7!DUnxN(EA<$lxkSBnE{}tw2W7pf{`xcu65*CDliT(t!J#9TL09;3_oQgB`1h zp@bE+)b5i`#Vt{RAj)Rvh6J|4)sSBBvi|cz9l6(~A5O1wL$45(D(8j2{>#5Iiu!;3 zm;bDP{CT0%ZjK5#EXYdZ=2Bs=KdR8=^024RY8U#$N+s&|UlhJ+f79mqKVMktMb^Qa zMzg7B=y|22-eTKrC_%2(Xv=bPUh1`;7uuZxKlgOw%{c?2PqU%wjGhz7kJS_uW3g1e2>o8`SePsJz!L92s*<7$#wQL&mZ%q=$c!?c-U+Gh$Umt;pG@W zOAZs#?Px+ZvL)t|LHL@_D6~q0fgf z&qma2K4IYT-5U=)MF64S8V;i8g{A5R!9D_^qxPWDEF2)nW1y&28WpO;RyRORqm3A9 z#nyYBp`n8iVg!Jggbpk2kK_i>2sAVFsYa}8gf^-c$|IrB4`-eiD(9U}Uk{%nz(^>` zt<@KW6a>8qf#Kiz zu*G0M2akbGK9$$>N{v2$k@twhwlo;_n1|Hof_=RjlfpyMpdth`U?MrCa{juoUAmwN zAzsc)Zq5aYZGm4eYUx|~Ujr22{yE=Q%|6Lk_w9Og+v!yrjNOaEdM}FZ_|RUV++h@N z0JYxpLbuUXmnywd<+4y`m^1xb=3c%&DpeUkhAn*fhi`BrI#Xcd0^$n|o6%8Dk8J>( zY>tM1S~rD0i#2*t*lN_z8Q%sCsGl|0WBbyEV4ZEN)1rf|s5xNcYgaorcB7ELQ0;Vj z{FXe|DPM@4`OT&n?|!yq-1@Rn?3Q{EP)38cYPK`d3_BIuYM+6v)yR@+4p>8sbFb0A z9Ea6eh{?z5kXSq+i63Nv2a=d2{(t3XW31k6v$+@GVr>`D_*B_qwx22VhTCOWV_=ly z`Jw}@HmDBAEH}MF37F|zYO%7CjXe$xYlVBB$2!_4`Gp$+8pZ}Ap>sf9B=MVq}S>=2Bp$3@41=xZ@<^=_P$XBTI_l#{Q^|2%&-k@5$nJgbub z`rjK%`C+NtQw0B0mG02LlvIyX1|@2yusuM-4x*-sWzgij?OrzEl5M0YR8SnRC&uDqlGByGX>9HsidR2}4j|#r!zQY&u2c3Z zC<^>vbDaRPoEP!YL8+Dl z6XO|}|CVw@7pudHW2udLn>sL68#4BXo6=|;&}HQ_ALw3AfbOB9Hi6D$4UK>Pk0n4y zsI3YGJz1dh{TmN-Ddls`;lgtaCmkrtwv)>TaPO4$Yg@03MyzDCv|+0ZzXJf%z+gIC zU-xu712o$PTp$KWsdGqmY0&DZMw2uzXNGYIClG8kD!opn*}(3S&nkdLX{z3w)+*gL zTEmulA>^LVQ&!6n+8-KJbBN*q(zXz+0=nP5ew#H6L==*t1@i>~2u-IoT}XXL$78Ho zZmcBUPS-^v)U^n0StIrRDZ8@8t*`~5>e_#7K>L?eyAo8`=$f+0TvZ~o)M>76C3jYx}>2YLC3_bJ`3I#@}BZqBF}n#)uo9G0A-ar~uB) z2T|cmA{FlLn#^t&uE*ShwVfVKYBj{KTfw&Q+Qz$t(&%(Zb~gJ%>%kOX+pQY519m`j zw7yc+Y0Sz8L1$dz>)0hKjc$W_Tk2Rjl1&hFZFg?Mr>%GDdX;vTTBq)GN5%`g0Cr1b zrPqyq!)*oOnKz|o^cvY{bi39a1+i-5(4e@zI1CQ^g15w$z-he!y|mT2WB^zo)nOm| zj&|Kv=~6ARiD4zh0)dv!MCu-}A6ur#xzmDedvH`=O9{r&VEg`_bm1)KIZCY#4& zn@85Y^(%j0ym`Fu;G257dx!7d_^o3zI7|-DRRM2|1`Gm$-grxlLtU3DLm(O}qZCp} zfC&ylFL7~@d(HTGFAL)Bi0a@Rn*Nx!Y?0!Pt2nUPcsY_KvW1Lt%Z^JeLtcO<} z;&*9-qle<`df++&QPDLLPgbGdz;u~;O__{VHY4Gje?>J4t|!Oy>4hGAQFtT6rgWA* zz8oxl+E0sYRH>z)Ut0h?=HQ+{u^N?Xkyceca+;UN7TkAfKFmsbK4i{KAoDTE%+~(< zpOa_@UnwI?w;Ae>b1#?Ku(NRvIY}ltzGd%4_8qWo*gVGBvTt-HTe6Q!+1hDb%GRpl zQns`dm$Ie#gs>0!8nffZ<6du{1UY~qk5@4b3SV}%{_RwdL#J16RHV(h>Dip*}JbOL0fU1 z>BG&G3v#zjJJ6=<{X>FmbK;pH2)-+OID3ZktIN=I-9U{Bo5K01PaWK*TB*R9xj(iG zLGTlExy-%3k=F`LkkYcNM(hWBw>>RA)!9$jrigQJjxP0~Z4N^{7xdX?qc(6_fcced z*Jn4f2{#{Mr|0$=_1ZhYaKjP$;Hf;rVKk-Qk@kuWj$IN(6Wd<9&ok(;QcC*h8BMr8 zcgx1s!Tv_Pgne?$>~ukE;T76K(^f#+YxPZD4QQbWNpq>8R?sPFBR5z9g*8$tAA z5f$RZp%ju?6Qe+H^_Cu*x%u%d5KIPX!9fb~&_E=i0)aA`ycwfF&j|J&BwJ2D_^KHi zFd<3%x8MX5?{mC@a++JagPRU6Laa%0z4u=T>O%WXIwBa72Bu&FBG|w`VlQYB9QKS{ ztq_G}HZuCD|Eg0-n`2NRyO{G)Vd5Eous(WV7FmY(UnV}Y4UC3tpHG-pWPA7r1Q#l1 zV3TN;`%&-O_TEoG1`z`_0y||Z=sCAw)obN6;wX$+ zI=qVsiLU_w(wzGdQmp^tmcu?CJLqoo&##3?LKE{c=~i#csFr$!5Ac}(H;uzDnxbhH zA{CH${fI_h>hT`eSH3O&;Y;!nhQ-KjJfFm4Z@s|chj0h?;oP)t82 zoxL756}?G#gTfGmKuMFj(^wf69)(xk$S&hT2J~g}3o@Qk`(bf^7JVNpG7J&R!hjGa z;jjH{hK|r-;7}1@>J8oX|FV~O!zh8K3Qu(y3I%m+bPU#IMKmAlCh-A}VqI2s{k24k z+9MQ;lQTZo_L-;6f3EHnckK~$8@Ax}h{2}?YlfI{9~M*Xl`y-p&12o9&Njl*z_f|z z#db^!pGn1FMr_;c62OL@<+)x|A4-Yn+K`HuG}>Z9@{?QyexdpEeN+Ju{$ zYfd^Cxah=4nsPQ;GuDunvhTxvArXZuq5k2+S6q{5kl6$2CAdROj^iTs8gOArE^qoM zv!(AC-kNK02bq^0(XfVpMm|_vFybF}3f@LSk`kk)Fhq_bV9uU3jwG$qzeB&{Qz`dw z!tfWMi=B{nxOi7y>|FU`U8TZo?BKW0k%!A6Hf}5DvGE#Yv!PH_^sw8gGBmX=L zX(H)7(ecflGM)m2r9ecDv%KKI6*3^f2n1WbBFJfgjTcao=f&;8KHK-RZy~BA8Nx_ z&<(#StQw|Mx^#qucY`eQ+JYE#+bL6NWy$$xQCL^gJJDudeqCb;US9#VVz)`*JzteB?@RPR#In-c}P;j|buc-tap@3cyv?B-E60QImAv(v! zKc-M4h_JL$i?>8tWgB;qkV07dWx6`6%^={Fo;pVq^$LaG)C84|;HC90Z~gRDd(; zQ-rvbJ#vgo*+bLxVCKN0aX#7XxbgVJC(D5|pPYD}ovr^Nv79cI2?ziDNUFSbm{ZCy zXB~P^Y(Vf_IyT&-)D^b%{po<6)HsN7xMa z$uQvKG}#AQWZYb{>6p5W3R@zOh`cOqH^k~I0l^2Z60B&OLP$DyI|~T!JihEzVz40; zkzIsXSt9ajM@EeS-1(!^28wd$iuAk9E_UgfdZ4|_H7PBF_*EB2s+~%T08zLW#rh?2 z_<@NNO-X(ddkT9ep_-O~30oI+CU5X7Z<_4}Z*!@OGJ%(tRL?-M<8Qz&z@F4AY;SIF zuDDOPJ+bIMlEw$xNNJnUrB*~lF?`?c*0wQYBbgWFh(PpBWRq4X|`bIrujeJ+hw&V8Rti(>B z?_0W(vs=)AmO$T1r~COeH@*+x^Bo%xdxzeLnq<6xLe$6h6Y(h z+aq--36HgbBqN-zB!&tpMGpNe{>FQ=oOxRV8zw_<3y_U%2-*&A=_@ftu+w1ah?5Uu z$Zlb1D$xZx&wj;rVp~G5H@D(1^>iGnIL}h(i$aJP4YO+N zIbV+=JYnM$_Jo1JQ=MhpouQlbQu2e8U}~2{@o1yl0h852zf19hbW=(2V7MQv3ij~( zed-g`j`>7xd4=_!EYV9WZK*^(4u)y&R!#$@FUiS$g*+Us24!NP)s{S@gfH3`<~V``>INsaA7wrL-?tZ-xbzJ17{>Kip_ z9o+Pvtnu+iZdf!uXWU(LUQOk-VrC4F67LPt`8&`!H*GxDQVau|Q{w#b&x0d2pXur3 z`<0Ff$^`eDXXj26x9};Z*wtg|lY;6KcY$x4ix?}<6;&Cm(biy}>UCq?N?Ae6N34lg z|53!sT5JDw!U&J>2;fhCl9-kBErnW-xs;ARuE?878YMa+YK!QsmaL3PYRoZ;_JU9t zx9JYc)UPOfDWPhsCI*o(BwnI1Cq)c#9h1_~9+ICx7PiTmv+B9X9z9B0AlcTCNJk2c zRf-_=I{0RsJy8~=4%lH9N6V!jK;{asWCx=lfYeMYb;)DxNL3_D6yX@UsYHLj8aBE< zV4GM)@}POZKS`=J|DftxkYDrx!lD!7nffW+wBIp(bd5M7QIBrak@LRVaib!!Rw*!x zf>h-bt5cw_D@USk`rSUveTeWV5{;!koiZW8^E!ML#noJHzIvs~$MKtM%-()VgW;9f zBq(~spc$7I=Seytm=;V4;q{9HG&3;TOI?J9*t4*iZbF&CX|E6KDdX@?dFCFstLbxG ztr4ln!a&B7fo4bWHij}VY^G2bLH_$`4$R7QJ~&Q%?vH|F)=Bk0rN9xZJ2vH~3662! z#)D&mhmaWs<~)#(b{x{N4cR0_!EO}vnL(#RMIWRfWI%vP(tB00OuWO0T3S0c`2n_k z5nJqCC~ig%b+1)`Qn03{DztE;SV2c=zzdZw2|6KmKvy~K-QJ7BMhJBVm$(nKLQfQ- zvFf$T45O2zl<~ZNUaG=XeccS+cGHR3VlnkF_AL@g$V4QJl98&QQYRRdbj3Y za7-`#oI*xnjMfJmkUojif`>Mkf&CAhVW$wpC=ya3?3qT>NujsOdlq0%H<(b5p4zMU z$d*%ieUqLw0?CwVZZ~AV&>-68WSXwOA;kEm;T{}*UZBu4A*KwL-_PW?VigcVrjXu} zBdqM#ICh+kG-lHb5Tj7<^j!U}ctRMu8l%Ir(m=*3(^=5SN8d>x#G~lDbiH@hxSn1p z6%Q(<_jmKDKnNY$mIJ+9`nW)d8qa3~A#%=m%W*)5ykFOWBoLz7JbXV|EZ*%*?Jq6P zPR-Gk%*g6qFuI>-G0$6zIR^>mtVJIT;f2B0qFfN{#&JNHfoBD@3T7b<$=6VXW#;$)ER^?8U6YkFM-6(jzN;6c#@eDn0Hd~E|cHr<9 zb`cuD7)&imDM5~;+gn7tuS!_1gb@bMW`UcjB&%2dq?tKumic4-n9z zk2THmuq>Z08@xG9kXS3SbH88=YQLC+3Q8JcxQ86Xbud?;MY>}d*pra}nFOl91K=T; zqE3W)?rTGxj^UzdblsI*OEqXl5!W*cwSCtX#)OAKCPaGV`gVlH+{@63``>55L*y>m zp(YlF%D1WGe#}IKycrcUj4!hX1@rb}*PinXn$?21FR(zPFUyM=S)*HEBHg5e%7BiC zL(H~;k(#v`+)BcpViu;0Zm6C1A4lQxHe+V~XWwyiJn~|Y%#XIwxMACE3aXN~k)+A0 zdx}bMOWX0jwQ=ifOXr45kR>Z6a;HA zd3rsc%+$2wT?1c(T(KDAiM7BY7Y-!w-xvQov+_c0a(WE?E)fRTg7_>@!dvfBO~AjUVE70!a6l>o}iFq!7OV{DR47G3kVsY#&4quW&0 z-0~m&UCA~@35#Z-h|E1nc72%cUTVAg)Q}6Syrv9dU(R0&wXm`m8UIrtniOQwE5nbf z5=R9hx@z$h{LTIHn_&!hnf8)VBAz-RHP5MDKgL=By)^dZwd`c%uj+|2{?S#PH4pv= ziNEO(GW|r?vvn-Bl5^bfdBp3Gn3V?;H?#K;AAHx*xwP-JNfj}jEAxHv;_H@wIWLEl`f8!B>00{F5c_%c- z#KifLwF_GsFy@vg7D;$)gI z388WvsSFW{E_cS1Os`CWO{I!;Jy&%!RD2^LFpL|;;AJ?H8m&0}|FsJ?;0(7I8e?bV zSRhBmd1u{9by2ejrcp6YLF{T;c|Np>cS$w`(R5e!(s{IGQ}C1^@F==zjvc+*>D3nI zpoQd~j5A@w>^Rq92+bt2KNaJl5Wlm8->Gd~!r!u1n{ z)X=x_sEUT^O!t<}I0j24r54bH00#3~KuoK-VeWUu|4TW+E-5JzR}j$2;4GyJ{5u!P zH=i|_78rtL?7py=PZ<;l^3AVCGN9_}uTUTsIn`G~;(cS_bM&5cfAhMsfvw z3|TQKi^CQKVumGVOd4kv*O_bTwVr_Co7pJ*QN&JQlBS*fu^l?t&I?rdF#CwZtgXZ*kzja-k zzdBiw12@Mp=e=;g1BsLPqA_zYfBB|%dHuGsI6Zg4(?@snqwakBc(J~-b$7Yg;L_5} z+R^l@`Rc*etH$V{y~w3e{Z0Sf@yc}jdim~E|8iG%4PQ-nR}SV&N4Hz2wYtb*G+k`J zyohdF7j@jwC+k9lhf=Dthgio>U-p2zo zwK^-}^h$CP-dlCw>W~H$ego^%regLi;JBv>;bjZmf)>KJ@L1?qY7y8`!9r+@U-N-u zfn4Iv;ZR~Kefyf493`h$xwKbRMW#uXcD1XxC_@4>bjsP-wF zjdo{04%!M^F4*6`+fjS>`NZiuB|Wt*O205?vU^bd*7oJCg04C#fwY#1fXUg%S_N}y zQ7&fV29W&N{gfKnwBe6|&_Kpx4m-GK3k;3wi_C3p?fBa77R6?MIr}M05Cp?GHb;sm z3@!aF<2KK%$W5^8TY9Lod&qAj$L(#G?(#Ozy-zxE;roCt-?8z?m9jU;%<$Y*@Bnzm zkYs-C`M^`)g@4_%9HcA?_fiNUuKqDa)eE;=Xi0fUKCMDGhQy|0OB1*lr{(?^g*_dG z<^fJuIIA}Z`A{znnEqOb5!x!otagHkYPp%|csa5>IPW|Q{M#1#@#MF=S z!E^qYQF3Nc4gBU}AmcQ6_8g3$8eTjK_EvcloQcEVVdzF!995`H3}$Ih!``5A)|9lTbK&kkm8QMWWL=O^qit`ZU9TP-UIb$;rOk z(QUu6`n%HZpb(}7Gp$NjzKq6gI$5mD-*hGs29IiNS@q^GCxm$q$K^Q#`*{JC-^Z>K zdNzLB*$f65l^wOcWXyhJw2x!sS<5Ph(ykL$kY-c@q{JH;x0q}(c2W&D>9}cc*!EFB zBtMu0gmNG%GVLR8fQ&W>Mwf%U;_?aM@2ik3?6qh1)g z;D+`oXxm-4?f{;{PO>hJBqrv7Z!$1mWx=5GfAzx_8QV>N{Kzl)mC? zjnkv!Wl-at=DwHrJ~C_?mJatFlYp`4_My!o#~d(mOh1ZlSrbpX6hA39(co#qTj*K} z-#*nLed@T5<$I|rQA-gp1hd>%x?v%RC8*ONIaLT?`RdXvjk-vZq>#sjhti6&vEm<2 z7vAl8h8A9ldy6BuL}>?vKwESMCHHuhxx;8vnOYkBP?kklrW$s1gpN|PTixtXPF_7y zsuA&;s1+fl_v9)WM&$b5h-PqMiO! zjgfSEFwhVm#0d`h9?R#*S)33l>!N2iA;+I)zF#M4tIDy{z?Vfr_V|i% z_>a0^;H!t*LZgI3Ijscr z2`7wIb<;QP-Hf*8Z7fb(Ba7Zg%!<6=3$zMy3a_%Wc6`oywv&lgbw8KhIx5Zts#QBw zM~Mp4_uiviarZS*6BRgwCzKck7zf8Zy_y zOq?P(4sEhRf;8ly&BXowDB4_gZi=0orS*4L)0?Z;@1}k$IY9hviCFL)nBmgL`QI

    hbYkRn{S3a)IbesEJIvZW@j28FykM`!f`?u#uTsmF98@}6k+pNvv0oy)U z=F-vi%i+S&#?|W4#og)7@sLZG+nufc%R#v^f3e;kT-}cIz-Nb!$8*-;^yCox#}2X2 z&ck0#qGneqfLqZKiwy4PQR3Xicyv-6wp+uq`Hh3_@?K9d7&(j4yW#IGM!!JQ{TsjA z1!nxQIhUuPqH#CTIB`$aqO{X$VVsus=M`~u9`gGvXfxz!VjIVcyK#3JUw%w6-!)d%^SEGDOp~nXx^BhT(p~|JxXf3l- zDHtRlCOfD9EH+gao0@U~_%0i__dQI?V`(e&+i8*SGC;8UB*bni@eqej+YJk(Uwv2p zy4zor@UBk8mw7o3YhQIfxG$_G!u=kdjJojxR*p>K~stVIfZTs~<39Bv{ys`Nz=w(FL>3)Q#FRsh541SNN_ zxHODur>7vDD%LEsCoWklix&zpb%_>0Q3*l!I@qpGEuvrtJ+_m6yFCTYRP=lT9!9Ta z1Vt+C?SKRZK#Tuz(p`;eDyt`lkq1MMr*<-OpKJoTq(!uoD$j-)a#9H>eXkVG%Z`G1 z(>Y%ZIgoXsH63!M3VGkLC79#g+Z005Cr;i5EwEFd7MMMRu7WqMfONiFdL`Qw)kY}7 zY&wzvmT$3*#hFzE0kNCLY>07jSv_v9;!J6Jn;$FkC)XE77{?DCWQKuv*M#VvmARY+ zQyQIF1Vv3wYq!bK=8J;O5-x3ffxbukKx~waYjS<*tU>8yRc@|Cq;~M6i=JW`TI`ez zR5ao?EO(56MqBp*?s@y53tDD*x*{SjWcl7kT1;9LLi^cppJ}@s*iNuB;||CwM8hUB z6a@-HdN^)~tH!JR7wUi6yBbZbOe+fbw0#?i%8>rIFIRPR%M?*Wm zKW^BkAEIpo{Yl0U#d4y~xBg-tciZ*)c<=7$Zcm1}how zWhpo~EJ_4Vt^F7zkpT7X^TPG8sdI?kp${r{AzUz#-*9zFlQ>MIlLF1St^1ts6UV`8 zyG`C4titIqY)F+cuOt=n)KLLNX1h~h<#tj~{r$$A?x&nq=~29x9@xKJ1fmPJboT2| ze#iXLaglcys?DS*!XLa*`JSY&U)Grlz|fRs(`%`5?cylo4id^}FQqO6u`)ikozX2d zORLHNR7rmvn>!WWD1o;ZeFmMbDS;x{posh#K2KG|5|3u+0>D?pPCsE?W zU9+wonL_heV2^%US7_9`_7M`eQd`OTG zK-iiN>IQZkQ_UF35a^gWXIYaQ2LIWzuv=I>_GB}bq}_(@B6obsF%>wJ8iL>N4Zk9!Bh z>)D;Ho1Md#rx%M?hrgXf80?jlw3-8tT>7{W1CDGJgml{q1R$uViX#5{+1ldiRCnWQ z>Ey0FI@)}xH{`f=y$d()gfkdFd;N>g-d@h$9d5R+T7#9#sov@o&+iOo4&Gua*&40v zAJ*@#xpdcPtXCH1rq<3%?b7u?F|DU7<>TSP%-q7p?%rXyw92Km&HDUs{<`|EeS5UI zRg{P2>|*h3SUQc?wzsZE%kSTg3o^)#9*;Xwnxy%ETAF`$(0?llt6TmKB5v~+;@j=w zX7u)8t@-xoZoj+yK(LFCFSx%DL!!U+ZTtr9cIN3H8R>r@-Zll1adx50^1hcpu;DO8IJ(SWQC0-x zxUDcNIui`~mfrX5Ch|`u9-tLYNq@pH6nAet5|IFIs)EjBvXQ8m36(~Wjan33g$-B~>2}G-XfVVv~9!L2*|Eu{s1t-SraV}%XbXAIt)Vs7x zlM{26pO5<9C*_L)E6U2tqvNYq7e(CNsqm6AF>|FOAzn_{_}dJ@>av-1fCBHgP96Q; z@HyQuP|bK;+Ul&EIO+wUfd{5m;VpYP%MzBoeY-FVq_0f-OK z1LTF}YGm5ZGQ*NKY<5d*xba$bQ7+#3BBPg zF*9$7fIt)gRzu9CwqzgY2kpVnqJ5pP)|#NqAc1flaVWw8AtMyH!=h47gw>)D* z1J6{Jb;K$9H04Y=2Er9j2%Yey99+Nr$N*F6DoeOM5X(u%V+rMH_m18M08YRUnzB+c}0AZ_dt6Xzn%{A@C4~g3=)N@ zuZ-*Ia|<(;%w&cD%82MWTZIhns4IN_aP48h)yai0MJ=Q$_q-N`ud<|Yp>oo{@wmJhYEDRvdjOt4MSIKOc+(A&M6J;lTszgkDtOtN_EZFY ziRc(=-yR1GnPDd@A5c;W<@D1)8z_;0mNWhJhn9z!fT_>-Hru1#WzwwJIdd{Q1_iqM zE~e~?7KnbM!;MYuGF4|xb#bve867Y_{d3bjnC`O<4gCeDwdMTE$dp}bw@^~BE-gvx;-4xGd+K`|4 z0nk|q!99LoW--Rk3Qojvw7t3n0oEye;Y;y}uL^CVPZK4K)Iip{-7)%ndNhe__?4K*Al!+Xk-MIF_al6 zDz%IsF=9r*?u8O)C z!jppWxU^6pU`hOx-y4-0Z=-H8P&tlnIL3yrv-r;7F;~TVUhXJ1 z!|51UoUx+K2_oreSZGsUXm3TWZub=dL^{3GEy6861i+0*5^!lt+j5s|aF)W?@x^{1 zTt|2%xNFfynnEf5NoJ1b%M)8Ip~&cLoLp;^mdS97sza{6owOnN|1cMZRiUwpS-d_p zmI*o~BCN1{wg@e?QdR1doo|=cRK}6dEOh1X0TY-0qkBNs|MSl#d%z*O&|vuaMS;IB z)|vD#wF`WkIBnsZw~YztWv+J$vCs$N;}mSjW=O$s#sdd@-ncKkLZk?->>;&|lKG#E z3z`BL%Yfd9y$d;$ncZZ;?J`9ASqVbxgk&ScRZ4_@IBnuBcQ+^%i~t5ja_|e~dz}kc zi&7e{fv+#<^Pn-qsx@M~Z;|0ghjkX0Dj*`I=-Mh|BW6}I-#M|1sa~3S01i!@xjGsS zh{X^{HX$QGIb(UiUA`g%VkQy81v>_Xci6ZKNHcjvq(!&sPaB(z=0md(!bFvhmr~T# zLY3^K5Cu?lfMS}ibvrf(D6~k`{4E*E-sxiOePEH!c)Uq%d_y8+!`{L-lLBh41yHTU z7ctU$#f!rG29{h(hgu&UDu+sqA)<6m>qi45MD*Qpvt@(hPm#1VMFqX{@N zo##5AuX$6g?Su9zmrbu7gooJ|u9f@)>BHlU3Q?17nvGXq6r$%tCoLQM`_1*s%2Yl$ zO?*j@g45b&dF7;ez5VV@w6%Y-)BcSFoInI%8JpovNb z00u* z<>OtchwjI?t|@_D1H@|3X45{cB$UQa!LwjSN>>~FP~dOMr_gZ;N} zpS_+X*uK^*)m6#z4?`}{P5rofJH635n7iBDyJ}DUMiS|n(4Z_OW3*kUXG2!FAN8;6 zKT_$_ugj(S3;w~+aaiZa5id`%k~i97Qn=)^;cc%z+g}+>9kv>s>!m9i&)MdmktiDcaE2io0t2gwT-syst?)g zvtz~Mleo_5#o3vK=bskWnVr+WlN= zyqmq{_jCJ0xgtMR5lD40wcCChdyTN&8(It@*~(m5WcJ8!+JLx-HU9zYdj&5XURyOY z%8Z4^f5VRFPR}z1;7hhXf&xmnX8GsodF_ke5UgKCO{kg;ojsyYs%V@O5cB0~=lM5n zqvqNh!W^wE?koWuv!Qu;ovw%!QTu1m>8K>mbwt7*MR+ieAqgDeOO!5W z;_x4@Bf5y(P%X#IjNa6A9ub$qU1UR{;1v-JY@5JTsNriSsdfi_Sw#h8oHB(_IxJFz zM+N5$iZePQ_CfMSog<0|eC8;&GV4Vk&FRyL5$zv*WiJRH3cZx^?rZT|=Pa@SDOc`@ zkF{>_glWtwi;lxf{%OF49>EGNv`U=|@1xY)y8Y9i=|dfOvb&ruF!`(+Ntb@iG9Rpr z9s2-3vYDS54^AIa@}tjq`o3tWFPCO@?K~wGiouApg>}5IPiab=GzVHewB={zF(23_ z%Jrklb(UxS#RS-vm0HHYKGpp`^zWk~EwTNLch)Zj1W}%#9rS1MnkGtd31IE*1J%xv z`dq=31hxTl)u9z4BU4g3ZjYEkxl2%vEw|8`uoCJXghF!pcdh#+5tYS6J@;N)qAF$5 zbuOf!2l``Yyk-oJ-RoemyrtTT2f|4-3b51uN%#z*p}~?#K&#GV$4#YEx@>^=&M z52wRBce~uv&iiI4t8{gqlOq5BgSjv(i1~;%(VQPew5&4udkLbgmZ&4TRF9r8sHM6% z9@j#8NGg;302=l{{Lv|B<(2Sx&AlV}+qkwn-LP4Zd0 z(;O|Dq5^wqV|BNuRi9N)V7ilw!bwn(C%wR`(7d<0@uEb+eL#_OR6{~YdqywPE8|Qw zGZ+rL${B$Y3TO2qZh^izskR_*E_|N{MXm|Ov8d`OcpvsCuWK7OgZt+S8X{GhhRta?WGv*fMad=#yhjE>SNs%|At-295co^a6xI> z1iv#5j7FdN3|2{vsQB7rkkmqRdTb&ce$g({N4*Y_i;vF!OC-dGRaBc#I-cV!oB z!{IuxxIDUd_ORgq^FRIgLM+c{+<-`5e4vs{`juaz1_%3Dm& zzFm6R-{#U_Yisk((PC$I<=xSGtv@@?&X^rT9`{QbgDCdNK5E>v*OMakk8aV~LH~b} z+|4CoPL(2~sTp-S7b`i(;1lhP53Iiu4OL)yeUj zw96CwNT*(`b|eltK$jzl*jCfIMzVgWSe|p0J1?KyYHUXAq@v-3KEktcg$ds|TGrH# zd&gmFkA{g;1XOuup7jflE$hG;Q+)7&UT3dj({gp4bqc3 zmlSHzo^%tdL#SIQ^NTEJ?)~gnyaDTo5di;k9x$t?9Qu9Rt z42`?gHaqHu=B?fpihyFbTr8^FpU`#&s^aBOqvTbjOZa@a#@K}J>{_0H!nZWBW>Nir zP12K=IMcdO%iExy5GKTZ{5VMXSYw2kyF}2HkTBVx-dwfBV!dxwRsLa}?C&1n(Ei%l z3L$~0@(59|H#T91O@E4ovtHnm@XdLVb8K8ZUf|(Y zOQ^YIU?MNK;*(rpj)=PD8VYryHq^Hwt7EoXJVJo0DFEa@Dnr5b#gr3uNI=LteWxOK z)_I(#w8S{cRsbLFMmqMuE;YC`CT1mZ)DsUl~`SDCrmT1f#9#s{5g@3Pe`;6Vlzz1mk;vMF`0_>@UBr<}Mn zB0>4s5}aAt$p@i{IrLFxlI4;AegZ1NvqXnU+njk@JCWnluK__GZ1a+er z0)hxskRanLSg85tkaJr)rfhrg%WA@oCj=XyF%g}ui%-RlbU9a(vGLM05D8y`s{trm z6g>y$?8&&4T)70~@qaqb<ohdQWKxeAfaa~7*Yi?rt7%IAtRk%M?r1Er}NdV7d2XSR}&3`>* zhHP}3?4OmVO=wnAy&R7zn{n2)YSoOfK)UMMj$}*yu;a2!#)8MiGXUAHOu!)y=qRSY zsQ82AK0K}xmdHJh&~WOOsT%?>&kU064n3=*7x@k0fsXJ#OmI5%ntY9cubA$PW>)SX z0~OlNtrLPbG91|Mv4$#ZP~v$RjX15uPS2*K4rV^yVP|M5Wrg=x>BV&VG*mzm>^@7Z zC3ym~n=h_WQoDMbs2E;^(*rUEdfQiSx_RmkOKrzPEF228QC#z0tMyk z#;4*1`Oz6~a0ICah4!#j1}Y#J)zS#p=9L1#XbD`f^0)W$E}pANOcn-XL7WQRCfN@3 zrc`xR%xNI`jkbL$@l-J^izf^D7Ge$fD}-QP@J!gnSdJ|}T!cvS?5#o&rl{@9I2==X z(0-N&+#*Qg+u}PgC*`#e2jQe|v}12+BK=+P81?%A;!u>+M z2ZIk&<8-w`uAox@`B0a5ZPDICU-Sqsvn8PeHfq;RovPc=C@IuHqTD4^@U}Nq#+#z$7)EX$N?*V@&P&_&{L=O(^*T zlyIe?rNi+a0gB+rnWT-3NDM(VQwd#F@~ooh-{_3Mj9eIHWLu@aATxM_Cqi zxM>^%$*$ad2$ZG&R8HFtJV zKdzkhF1Gg$@3^!QZN042_qxZ$*5Gize8{EpX?L)^xOq^V8b!mm2fB1tc{SHw?i`mp zi(7lAYinE@?sk^i%az^v!QT4X#qHKOZ)J7>c|1>(pB$`RQmpSn zVzmSGqgR$7y?vRl%<*VOdf5T|89Hz(Z2&&5L;+aXyHpy;>{Iw92&3`k4ibIcJcAr! zW@@h^r_RQejtmN1w;y`|R@fr+GHmt4Wg3%qDSzse;N4TsO^bbG)6&)v67#hErB1W3 zhP3CHM-unyxkXE*8ciCri#mP{|9}W}qi=lml&)B!v<8mkHOgoDsdml)@y*zt3d>|% z+VuhDEX%St=!2`J7FBC}7`VO(wu-teuIfg`vjDbof0HrSnIGCl2rnmNbEtDL+>pC- zzqpJs!509RwE#OQbayWE47L_-n~}E_V(yASKF}N+@01If^mYlY3W$J8@VL!fMLsTu zBGpdeu!G6{TJkyP8h?$ok#OEUXD-Vgh(YDF+!4f5MRM+)JnfF{GFOFg$w+E+YYML#17J89z}or}qo@mE zKoBd#9?_RFP@4OOUiArPlwncTznUe5jOg^mc5>PbeNZ`km87-o8}gaav8~gV&uyLW zcgVmFrUA8$vJGSts39MPZ%o(kH7)a~E`seG*XaOW&K|%xO3Zk)ljg1J&ic>x=O`NfhssLFs{a2E7)J+1I3x^aY ze!{?%?qdp>KGg;gYuS!MQNqbr$ksY#mxL=Bcolu9*7fKr&+2sld{QcZ8zhY|KtAC`p6X(1 zjpryCsnpW+2KoRUqMh!OUn40={5lwxaWK5L@A6*|;tvRNXjf=i z-`*A92w4r=!|J^Uh;(4v1!0uB&Y&Co1_fz-b1+KnTb)M1Oh3;_x*$YHBN zVY&xj*0f)JqC?OHY`ngMnoZ7bY3iQMpF-=DS79>~Cc96D9NLR04LSMx2oaD_mK6Au zUqAy0H))N-$*g$i9lj-ybA+Ulm zqax|HZ}2aN_@L7Io>-MJwIw8*XpjMEKjZ(>_g_yh7tyu`=XX>u_0 zMvO*|1Y$b`x$;y%eHvz6p=S)=z=n?`DHY~-@g|vPt%4j}3+=3f`hl+I!y8gxA}ioS zQ3=_Vn-2k#TEdS)K-O;lA18*2Lk@>|(x%wBgX4vNMTOntYVywukMN^oSAfIf5fbyM zMIW==twuZo8wy&mUXyC&#w*14W8|o)LbfZgA=7{vNn2inCcOlIJbVGkd2Xc}nxi}E z?1)VZLZCQFmmbP?9qO&|zPKRzy>KK4B8fDs74OYMuM2St3OzC-48=<@n-J@$Z-V}~ z`i_02cuUP!kB04#RT8IqfQm94sA+F$6r#{QL@^Kkp*y7P7{&6 zG#D%##*AYYS!u|Jl}Yv6M`2}cbFhB7+g!iy_71AuqwCbEy6@Q>a*wHCus_bzcx^3Y z9gT0V8e4Ov;+va|+uPoB`z6ig_;$P(C+-=FNRExg@bR3_upXs&&B zw=~?CJz8uwm*p<%9_*ZMpZ2%jjM{rggJ~s7&flEByXno&_BL;pE^Bo~wBPiHOLI%@ z)yDMBO{aW*#--chV0L$RYPM9|d3kqmRvPDL%#I$9PyCGErutfTPXEos+_l_8*@s2m<&3{GmNye4NUdN(!Go#D-jY=8VZ0{ z%DuS?h1H(z!ojpTVX1O9v2!36&_#iBK`37b16GXXV^y^5z)x22w{#?Bk>p=Z!nT%& zn6f^)n1B;koj%EylRIF+Y!j5EuVUS5k+o?rgNy` zh6OA^9csziHsgxeMv0J7R^4g0>wh?M;+oVBSM{ zIh`X}1{Bitz1~$Po89N2#T`?~MAHI8Ou48y)htO=yJ=J@!U&{TU7sj&KGg2ej@?wM zzCW0RW@MMHV(N4OnqOiLCuvTikE0Y#iRz2(uVQ`A)d*7QK+cwOIs9lWx|^2l(~_pl zitW!=b>W|8GBs7qP)PuXBU&rTPO8F|OhdlCU|-2J3KR_Mb+-C@_U5FZxb?|tlJPs4 z9|m9Dae<-wVq#VGGGHdO7~hfVmb1k34M~_N0Hk1BJ{G0X>wn@LE34y9J69Ma02wZe}04fmMD8V|8_U9plFjgpKpWzk8le6?0i z4>qH!pv0L+Z4*~WNO+T(Hc(;o6zswh+{zse2%z@qpzBv1B|^-5T$))}E<;WjG@F!o608uIKHb@! zb&jl#9B@Y;Ck8AF^pjyLq~UopwTre>ub_3oaVFE9D&+dna=hv^bVI(mWbAFLF!*H@ zFmE{{Q)tOX#u%hpCo9HVt5ll>k7Kz}SG`=8h(DNyo3y79uhdngF@7N22==K{5u+OC zhmTFl%ZhP69!??!9>v3~h3Bs(>eaeR{V=dk(?AelVG73)1b4xF@x)3seqUZ{^})>@ZQ@65h&>GvcwAozdOh82djhb2=+Bn?ol zDHAaf=JdQxY>bHUVL$< z4>Y`l;z_X0)J-CCle1xjIxR&fF8BoDqcH`-G4#NBt$hN!ig*Y)tVqfA>G|-(Fq*;E%WsSNCh*r)(xc zsGLn{G{+7z(*CP(5!FRPT6(ooMas+l=M-4tL>l{2QxYb9!pWj`3x4pB?+QQ6j zy}I{i?$uzAOPAXRIDISAQ#*TullH+Sms-0^hkKpUTy1fBwBI&5 z+kt%#P}Ma`)XBIPVk4k^;cyRG(Na}CbHXE3?SUNuMg6>l+GiXLI(UDdij&|7%1}87 z5w%u_C?|w9W^9T9Raj=9qI#IasO=){jU)=&DA~+hKrLqzHCn@#>;^I+P~wUjR%Xca zk1DM$t`V{64P(5B53Ps_c4sPD-MdxMT)ackyo6h5f7G7Vv2)=q1MiK(zZmq-i>|e7LN^5C?0(s0 zKf#Z0=|;?M0RMG@AG=hYf5PD5yZ5okK{clbfMY2m`{aF^P>CxdAw)x&X=$@?0v)z= zTtwl-aUMTAx zr zakzt+4|SMS63A{sEa$@g$oOnvJQ$?@c{%k=d9N3JZ8ahEQ?J3ORw;j9j!=}%;^%m_ zJ?AZjr=H&{@|0Lu0L2RS_+#9YJ3~aNjG7Kez3tBF5Y`vVa?P0sKkV*9iCr_BuIjl) z>MPFE(9>~nla-QuxS2RVAEhfvTA_ zqEncG6qv})&AN>%0GJFTL{e7W5c%YHw*FMOr4g9a^Qo66@v0v>HKbVUbzZ1_gIMmh z$(Ne)Z?Nm@JYvhgG0&kPQ6gqa)A&cO<=MN z0ZDV_z~I>CegusJp*l_76AYWK1cEGqfYmqcFgHYF4Bbnq7m zSE1tH_mQ474$!i4m=953qUm@@5YJ` zmULR0F%MGI0h|UgAY`b~5pxFX`$J1#`u@{nCESx?bJ=#$^nKo8aCpCqf$x|)hR@lx z9S~XOR;3IiFs5#_;%~G)l+P3_`Rc4xBye`xAyrtNH^Y&p7^t|{eNpH%H5JG}l22Im z0DMgnf9{14HSzT@((GBjCW@;Q?`F&#-S)jLr8?2Fj-iw|2+`f(`9Kx)XpMH^OP^-I zufw+g+ZB_=Z#%$jp$t;g(>hW9&(U|4K~?CUYYbJc*@3F5&6{pE6DZa!YWlDkJBN%; zXgAYuh+wtU3h#y17?L8 z)^PbRBp`ce_L?UQuW<)c!1}2X+o#|kw4^K{#er#3B+bgKFtYzRe&m!rPTHQT%RFkl^x~nQBuWUQim_i}5)(|h>mcg2e()#l#VCxD! zJ5h0_ta* zI=e&rqdt!gyPo=Eivue8vXJsAhw;>IrBie4n>Bvapy{v$)!mlBn|W>1Kv;urR!HHg zN`di}rUcv9I^RIjdC|~R=li9a!kt_(NqfMRglQ;&TZ766vX%McO`VGEOb~ACHw%il zXA1DgpYD^D@_e|Qc&8qP%d7|IUrB6whv&#@o^$G{xCG)3rrZKX# z5N?T{R%4v1X=jfIU%_)_I+`3A^>LbBLP0TAHPsMQbQ4MtHHFAFsK!U7&us>qoGafK zqSBH`w2D=RiQ0xxGI|-b<$;=eZ+MMG39C?52s1X66mPAly1oPwT^5qV*FjuQJsPQi zxFF5+d(g%^0z41~K{n;MEx6ZKW0mfe9^l;~zVnz>NXa(kpN2%bh5Y*HrML*JP)@@g zhX)FdK4>ZMKb4shBlPU=0mXYtN+-qz55rx z_@e#APuc(IKVSU(4`38kbc`QN9o$Y&&0a4qZWY%%+r_=#{^=h-Yjc!5SvSk5VqFxE zQDL<-kWbjV88f1O5F>6rZiJF>Fz>in?y$=IYQh|NECK*rwkry8spa^|R@j7qhd| zbi+9^H`U1sZmsxA>ed%iFJ`9r!KD^di&VU%pYt;>7o8_&nln;c-i!OekFRE)Kl>Or G@Bar4@dhUV diff --git a/packs/blasphemy2/000057.ldb b/packs/blasphemy2/000057.ldb new file mode 100644 index 0000000000000000000000000000000000000000..034517ed88481b25d4c5041cc6cf3ec0d928bf4b GIT binary patch literal 54148 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 diff --git a/packs/blasphemy2/MANIFEST-000056 b/packs/blasphemy2/MANIFEST-000056 new file mode 100644 index 0000000000000000000000000000000000000000..9fd4064ac091b0bf55c68680a828bf43c8401c8d GIT binary patch literal 263 zcmb>5SM0Nbfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?Dl^k9 z*}}}gH7YSLv8=?9v5^4`SQ!baU}sW3_J>JPF)cqQCAFwn(IBY8(7?FN($XiyE#EgJ vfN?p*Btqs?K9JrR$iT>C#mT^I&GL?kox!qYIWrz}^BBPf<1&}wKg3=DRGLUZ literal 0 HcmV?d00001 From 65eb14d969ad14fa952a16c41559ca5e1b79b219 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Fri, 30 Aug 2024 00:40:19 -0500 Subject: [PATCH 043/103] Updated Agenda packs to use better folder structure --- packs/agenda2/000062.log | Bin 0 -> 101165 bytes packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 ++--- packs/agenda2/LOG.old | 11 +++++--- .../{MANIFEST-000055 => MANIFEST-000061} | Bin 191 -> 191 bytes packs/blasphemy2/000035.ldb | Bin 48710 -> 0 bytes packs/blasphemy2/000057.ldb | Bin 54148 -> 0 bytes packs/blasphemy2/000058.log | 0 packs/blasphemy2/000064.ldb | Bin 0 -> 52669 bytes .../000056.log => blasphemy2/000066.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 8 +++--- packs/blasphemy2/LOG.old | 24 +++++++++++++++--- packs/blasphemy2/MANIFEST-000056 | Bin 263 -> 0 bytes packs/blasphemy2/MANIFEST-000065 | Bin 0 -> 191 bytes templates/item/item-agendaAbility-sheet.hbs | 18 +++++++++++++ 16 files changed, 55 insertions(+), 16 deletions(-) create mode 100644 packs/agenda2/000062.log rename packs/agenda2/{MANIFEST-000055 => MANIFEST-000061} (67%) delete mode 100644 packs/blasphemy2/000035.ldb delete mode 100644 packs/blasphemy2/000057.ldb delete mode 100644 packs/blasphemy2/000058.log create mode 100644 packs/blasphemy2/000064.ldb rename packs/{agenda2/000056.log => blasphemy2/000066.log} (100%) delete mode 100644 packs/blasphemy2/MANIFEST-000056 create mode 100644 packs/blasphemy2/MANIFEST-000065 create mode 100644 templates/item/item-agendaAbility-sheet.hbs diff --git a/packs/agenda2/000062.log b/packs/agenda2/000062.log new file mode 100644 index 0000000000000000000000000000000000000000..84b089de714037dc8c46354e2daab29dd60b4f24 GIT binary patch literal 101165 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 literal 0 HcmV?d00001 diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index 8355b42..ebafc63 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000055 +MANIFEST-000061 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index b9fd030..54f57d0 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +1,3 @@ -2024/08/29-23:26:15.008 bab0 Recovering log #54 -2024/08/29-23:26:15.015 bab0 Delete type=0 #54 -2024/08/29-23:26:15.015 bab0 Delete type=3 #53 +2024/08/30-00:04:20.678 b28 Recovering log #59 +2024/08/30-00:04:20.685 b28 Delete type=0 #59 +2024/08/30-00:04:20.685 b28 Delete type=3 #57 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index a9754f1..7eaf9cd 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,3 +1,8 @@ -2024/08/29-21:31:23.088 33d4 Recovering log #51 -2024/08/29-21:31:23.094 33d4 Delete type=0 #51 -2024/08/29-21:31:23.094 33d4 Delete type=3 #49 +2024/08/30-00:00:50.574 a7e0 Recovering log #56 +2024/08/30-00:00:50.579 a7e0 Delete type=0 #56 +2024/08/30-00:00:50.579 a7e0 Delete type=3 #55 +2024/08/30-00:04:18.052 820c Level-0 table #60: started +2024/08/30-00:04:18.052 820c Level-0 table #60: 0 bytes OK +2024/08/30-00:04:18.054 820c Delete type=0 #58 +2024/08/30-00:04:18.058 820c Manual compaction at level-0 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/08/30-00:04:18.058 820c Manual compaction at level-1 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) diff --git a/packs/agenda2/MANIFEST-000055 b/packs/agenda2/MANIFEST-000061 similarity index 67% rename from packs/agenda2/MANIFEST-000055 rename to packs/agenda2/MANIFEST-000061 index 486a6842e157edb3aac6305e32d87ebf43012b03..df1f448a071689b9d974ee92ef3daa351aca70dd 100644 GIT binary patch delta 23 ecmdnbxSw&tdI6O`Otzd1j7)Z%49xZ{R~Z3P)dija delta 23 fcmdnbxSw&tdVwb|mww=6U}Uo3WMH;rxylFtZ*d2e diff --git a/packs/blasphemy2/000035.ldb b/packs/blasphemy2/000035.ldb deleted file mode 100644 index 92a19f05f7bf640a0eb11d9817079fc2169d48ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48710 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 vUcvPzTr%D?C$2PnF8j4FHEIVOOnc0Ob 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 literal 0 HcmV?d00001 diff --git a/packs/agenda2/000056.log b/packs/blasphemy2/000066.log similarity index 100% rename from packs/agenda2/000056.log rename to packs/blasphemy2/000066.log diff --git a/packs/blasphemy2/CURRENT b/packs/blasphemy2/CURRENT index 80d9de0..625c880 100644 --- a/packs/blasphemy2/CURRENT +++ b/packs/blasphemy2/CURRENT @@ -1 +1 @@ -MANIFEST-000056 +MANIFEST-000065 diff --git a/packs/blasphemy2/LOG b/packs/blasphemy2/LOG index d88ec83..6e8ac36 100644 --- a/packs/blasphemy2/LOG +++ b/packs/blasphemy2/LOG @@ -1,5 +1,3 @@ -2024/08/29-23:26:15.027 9c98 Recovering log #55 -2024/08/29-23:26:15.027 9c98 Level-0 table #57: started -2024/08/29-23:26:15.032 9c98 Level-0 table #57: 54148 bytes OK -2024/08/29-23:26:15.038 9c98 Delete type=0 #55 -2024/08/29-23:26:15.038 9c98 Delete type=3 #54 +2024/08/30-00:04:20.697 a7e0 Recovering log #61 +2024/08/30-00:04:20.702 a7e0 Delete type=0 #61 +2024/08/30-00:04:20.702 a7e0 Delete type=3 #59 diff --git a/packs/blasphemy2/LOG.old b/packs/blasphemy2/LOG.old index a540dad..0212fa1 100644 --- a/packs/blasphemy2/LOG.old +++ b/packs/blasphemy2/LOG.old @@ -1,3 +1,21 @@ -2024/08/29-21:31:23.106 1d44 Recovering log #52 -2024/08/29-21:31:23.112 1d44 Delete type=0 #52 -2024/08/29-21:31:23.112 1d44 Delete type=3 #50 +2024/08/30-00:00:50.594 7008 Recovering log #58 +2024/08/30-00:00:50.599 7008 Delete type=0 #58 +2024/08/30-00:00:50.599 7008 Delete type=3 #56 +2024/08/30-00:04:18.064 820c Level-0 table #62: started +2024/08/30-00:04:18.064 820c Level-0 table #62: 0 bytes OK +2024/08/30-00:04:18.067 820c Delete type=0 #60 +2024/08/30-00:04:18.069 820c Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 255 : 0 +2024/08/30-00:04:18.069 820c Compacting 1@0 + 0@1 files +2024/08/30-00:04:18.074 820c Generated table #63@0: 111 keys, 52739 bytes +2024/08/30-00:04:18.074 820c Compacted 1@0 + 0@1 files => 52739 bytes +2024/08/30-00:04:18.075 820c compacted to: files[ 0 1 1 0 0 0 0 ] +2024/08/30-00:04:18.076 820c Delete type=2 #57 +2024/08/30-00:04:18.076 820c Manual compaction at level-0 from '!items!ziiFc860EZanavt1' @ 255 : 0 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/08/30-00:04:18.076 820c Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 328 : 1 +2024/08/30-00:04:18.076 820c Compacting 1@1 + 1@2 files +2024/08/30-00:04:18.079 820c Generated table #64@1: 109 keys, 52669 bytes +2024/08/30-00:04:18.079 820c Compacted 1@1 + 1@2 files => 52669 bytes +2024/08/30-00:04:18.082 820c compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/30-00:04:18.082 820c Delete type=2 #35 +2024/08/30-00:04:18.082 820c Delete type=2 #63 +2024/08/30-00:04:18.088 820c Manual compaction at level-1 from '!items!ziiFc860EZanavt1' @ 328 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) diff --git a/packs/blasphemy2/MANIFEST-000056 b/packs/blasphemy2/MANIFEST-000056 deleted file mode 100644 index 9fd4064ac091b0bf55c68680a828bf43c8401c8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmb>5SM0Nbfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?Dl^k9 z*}}}gH7YSLv8=?9v5^4`SQ!baU}sW3_J>JPF)cqQCAFwn(IBY8(7?FN($XiyE#EgJ vfN?p*Btqs?K9JrR$iT>C#mT^I&GL?kox!qYIWrz}^BBPf<1&}wKg3=DRGLUZ diff --git a/packs/blasphemy2/MANIFEST-000065 b/packs/blasphemy2/MANIFEST-000065 new file mode 100644 index 0000000000000000000000000000000000000000..32d3c33f068a8e57c52eba844adb5c887042f23d GIT binary patch literal 191 zcmbPlIs4oS21Z7yoYb<^oRlOzr^=Gl^338?=ltA)#G=HK{32EcdBx0<)ZAjls?1Ec zWD7F`*Qmt2#Ih1YhW`v;z{-eA1)~QeSOq(i!`|7 +

    + + {{! Sheet Tab Navigation }} + {{! Sheet Body }} +
    +

    + {{this.item.system.abilityDescription}} +

    +
    + \ No newline at end of file From b70ba3bffc6f1c22d900a7a1714b7e987c4d6857 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Fri, 30 Aug 2024 08:12:53 -0400 Subject: [PATCH 044/103] Packs updates --- packs/agenda/{000065.log => 000067.log} | 0 packs/agenda/CURRENT | 2 +- packs/agenda/LOG | 6 +++--- packs/agenda/LOG.old | 11 +++-------- .../agenda/{MANIFEST-000064 => MANIFEST-000066} | Bin 187 -> 187 bytes 5 files changed, 7 insertions(+), 12 deletions(-) rename packs/agenda/{000065.log => 000067.log} (100%) rename packs/agenda/{MANIFEST-000064 => MANIFEST-000066} (68%) diff --git a/packs/agenda/000065.log b/packs/agenda/000067.log similarity index 100% rename from packs/agenda/000065.log rename to packs/agenda/000067.log diff --git a/packs/agenda/CURRENT b/packs/agenda/CURRENT index 5d746f2..7873dc6 100644 --- a/packs/agenda/CURRENT +++ b/packs/agenda/CURRENT @@ -1 +1 @@ -MANIFEST-000064 +MANIFEST-000066 diff --git a/packs/agenda/LOG b/packs/agenda/LOG index d795a85..d750ec1 100644 --- a/packs/agenda/LOG +++ b/packs/agenda/LOG @@ -1,3 +1,3 @@ -2024/08/29-10:26:56.602254 ffff99fbf120 Recovering log #62 -2024/08/29-10:26:56.629705 ffff99fbf120 Delete type=0 #62 -2024/08/29-10:26:56.629903 ffff99fbf120 Delete type=3 #60 +2024/08/30-08:08:42.062 4478 Recovering log #65 +2024/08/30-08:08:42.066 4478 Delete type=0 #65 +2024/08/30-08:08:42.067 4478 Delete type=3 #64 diff --git a/packs/agenda/LOG.old b/packs/agenda/LOG.old index e84c7ed..d795a85 100644 --- a/packs/agenda/LOG.old +++ b/packs/agenda/LOG.old @@ -1,8 +1,3 @@ -2024/08/29-10:26:24.138601 ffff9afdf120 Recovering log #59 -2024/08/29-10:26:24.162801 ffff9afdf120 Delete type=0 #59 -2024/08/29-10:26:24.163000 ffff9afdf120 Delete type=3 #58 -2024/08/29-10:26:34.951860 ffff98e1e120 Level-0 table #63: started -2024/08/29-10:26:34.951991 ffff98e1e120 Level-0 table #63: 0 bytes OK -2024/08/29-10:26:34.959208 ffff98e1e120 Delete type=0 #61 -2024/08/29-10:26:34.978078 ffff98e1e120 Manual compaction at level-0 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) -2024/08/29-10:26:34.998963 ffff98e1e120 Manual compaction at level-1 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) +2024/08/29-10:26:56.602254 ffff99fbf120 Recovering log #62 +2024/08/29-10:26:56.629705 ffff99fbf120 Delete type=0 #62 +2024/08/29-10:26:56.629903 ffff99fbf120 Delete type=3 #60 diff --git a/packs/agenda/MANIFEST-000064 b/packs/agenda/MANIFEST-000066 similarity index 68% rename from packs/agenda/MANIFEST-000064 rename to packs/agenda/MANIFEST-000066 index 43ef68164b66a3b96120a5c0bbbb88368d18eebf..a928d085a54b3acab99d0f6e574380f959aa8418 100644 GIT binary patch delta 22 ecmdnZxSMgp8vY{}8$NL`FfuuFGBCTam;nG`yauBH delta 22 dcmdnZxSMgp8vf`DWt%w|7?~V78JL||%m7#Y1?&I- From ab8a208874f0c19de90096a85c118ae3d477dc19 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Fri, 30 Aug 2024 08:13:15 -0400 Subject: [PATCH 045/103] Packs updates part 2 --- packs/agenda2/{000036.log => 000038.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 3 --- packs/agenda2/LOG.old | 24 +++-------------- .../{MANIFEST-000035 => MANIFEST-000037} | Bin 191 -> 191 bytes packs/blasphemy/{000065.log => 000067.log} | 0 packs/blasphemy/CURRENT | 2 +- packs/blasphemy/LOG | 6 ++--- packs/blasphemy/LOG.old | 11 +++----- .../{MANIFEST-000064 => MANIFEST-000066} | Bin 191 -> 191 bytes packs/blasphemy2/{000037.log => 000039.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 3 --- packs/blasphemy2/LOG.old | 25 +++--------------- .../{MANIFEST-000036 => MANIFEST-000038} | Bin 191 -> 191 bytes packs/items/{000066.log => 000068.log} | 0 packs/items/CURRENT | 2 +- packs/items/LOG | 6 ++--- packs/items/LOG.old | 11 +++----- .../{MANIFEST-000065 => MANIFEST-000067} | Bin 190 -> 190 bytes packs/tables/{000065.log => 000067.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 6 ++--- packs/tables/LOG.old | 11 +++----- .../{MANIFEST-000064 => MANIFEST-000066} | Bin 267 -> 267 bytes 25 files changed, 29 insertions(+), 87 deletions(-) rename packs/agenda2/{000036.log => 000038.log} (100%) rename packs/agenda2/{MANIFEST-000035 => MANIFEST-000037} (67%) rename packs/blasphemy/{000065.log => 000067.log} (100%) rename packs/blasphemy/{MANIFEST-000064 => MANIFEST-000066} (67%) rename packs/blasphemy2/{000037.log => 000039.log} (100%) rename packs/blasphemy2/{MANIFEST-000036 => MANIFEST-000038} (67%) rename packs/items/{000066.log => 000068.log} (100%) rename packs/items/{MANIFEST-000065 => MANIFEST-000067} (67%) rename packs/tables/{000065.log => 000067.log} (100%) rename packs/tables/{MANIFEST-000064 => MANIFEST-000066} (71%) diff --git a/packs/agenda2/000036.log b/packs/agenda2/000038.log similarity index 100% rename from packs/agenda2/000036.log rename to packs/agenda2/000038.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index 29a53d8..29c0a00 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000037 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index b2d143d..e69de29 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +0,0 @@ -2024/08/29-10:26:56.641788 ffff9a7cf120 Recovering log #31 -2024/08/29-10:26:56.672961 ffff9a7cf120 Delete type=3 #29 -2024/08/29-10:26:56.673379 ffff9a7cf120 Delete type=0 #31 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index 9cad6fa..b2d143d 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,21 +1,3 @@ -2024/08/29-10:26:24.174818 ffff99fbf120 Recovering log #28 -2024/08/29-10:26:24.202511 ffff99fbf120 Delete type=0 #28 -2024/08/29-10:26:24.202773 ffff99fbf120 Delete type=3 #26 -2024/08/29-10:26:34.968545 ffff98e1e120 Level-0 table #32: started -2024/08/29-10:26:34.968731 ffff98e1e120 Level-0 table #32: 0 bytes OK -2024/08/29-10:26:34.977668 ffff98e1e120 Delete type=0 #30 -2024/08/29-10:26:34.978249 ffff98e1e120 Manual compaction at level-0 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at '!items!zZFPaBUSRswOimI7' @ 87 : 0 -2024/08/29-10:26:34.978299 ffff98e1e120 Compacting 1@0 + 0@1 files -2024/08/29-10:26:34.989836 ffff98e1e120 Generated table #33@0: 125 keys, 28141 bytes -2024/08/29-10:26:34.989920 ffff98e1e120 Compacted 1@0 + 0@1 files => 28141 bytes -2024/08/29-10:26:34.997781 ffff98e1e120 compacted to: files[ 0 1 1 0 0 0 0 ] -2024/08/29-10:26:34.998388 ffff98e1e120 Delete type=2 #27 -2024/08/29-10:26:34.999709 ffff98e1e120 Manual compaction at level-0 from '!items!zZFPaBUSRswOimI7' @ 87 : 0 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) -2024/08/29-10:26:35.023766 ffff98e1e120 Manual compaction at level-1 from '!folders!CLEw3YHmwcZOWPfm' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at '!items!zZFPaBUSRswOimI7' @ 106 : 1 -2024/08/29-10:26:35.023850 ffff98e1e120 Compacting 1@1 + 1@2 files -2024/08/29-10:26:35.036660 ffff98e1e120 Generated table #34@1: 125 keys, 28141 bytes -2024/08/29-10:26:35.036744 ffff98e1e120 Compacted 1@1 + 1@2 files => 28141 bytes -2024/08/29-10:26:35.042882 ffff98e1e120 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/08/29-10:26:35.043805 ffff98e1e120 Delete type=2 #5 -2024/08/29-10:26:35.044303 ffff98e1e120 Delete type=2 #33 -2024/08/29-10:26:35.081083 ffff98e1e120 Manual compaction at level-1 from '!items!zZFPaBUSRswOimI7' @ 106 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/08/29-10:26:56.641788 ffff9a7cf120 Recovering log #31 +2024/08/29-10:26:56.672961 ffff9a7cf120 Delete type=3 #29 +2024/08/29-10:26:56.673379 ffff9a7cf120 Delete type=0 #31 diff --git a/packs/agenda2/MANIFEST-000035 b/packs/agenda2/MANIFEST-000037 similarity index 67% rename from packs/agenda2/MANIFEST-000035 rename to packs/agenda2/MANIFEST-000037 index e8d92323efc57c46040a40a302e69a95130cf1f9..00295fe15878e9fe1065c67bb95dc104fabdb344 100644 GIT binary patch delta 23 ecmdnbxSw&tdV&1Dyc3)Zj7(~r49w~*R~Z3Z>IOmp delta 23 fcmdnbxSw&tdVz)~KP)&I7@1T!8JJaBt}+4uV<-ln diff --git a/packs/blasphemy/000065.log b/packs/blasphemy/000067.log similarity index 100% rename from packs/blasphemy/000065.log rename to packs/blasphemy/000067.log diff --git a/packs/blasphemy/CURRENT b/packs/blasphemy/CURRENT index 5d746f2..7873dc6 100644 --- a/packs/blasphemy/CURRENT +++ b/packs/blasphemy/CURRENT @@ -1 +1 @@ -MANIFEST-000064 +MANIFEST-000066 diff --git a/packs/blasphemy/LOG b/packs/blasphemy/LOG index c8916bf..cb9f616 100644 --- a/packs/blasphemy/LOG +++ b/packs/blasphemy/LOG @@ -1,3 +1,3 @@ -2024/08/29-10:26:56.687769 ffff997af120 Recovering log #62 -2024/08/29-10:26:56.711126 ffff997af120 Delete type=0 #62 -2024/08/29-10:26:56.711385 ffff997af120 Delete type=3 #60 +2024/08/30-08:08:42.133 808 Recovering log #65 +2024/08/30-08:08:42.139 808 Delete type=0 #65 +2024/08/30-08:08:42.139 808 Delete type=3 #64 diff --git a/packs/blasphemy/LOG.old b/packs/blasphemy/LOG.old index 5fa9ccc..c8916bf 100644 --- a/packs/blasphemy/LOG.old +++ b/packs/blasphemy/LOG.old @@ -1,8 +1,3 @@ -2024/08/29-10:26:24.218267 ffff9a7cf120 Recovering log #59 -2024/08/29-10:26:24.238167 ffff9a7cf120 Delete type=0 #59 -2024/08/29-10:26:24.238424 ffff9a7cf120 Delete type=3 #58 -2024/08/29-10:26:34.999781 ffff98e1e120 Level-0 table #63: started -2024/08/29-10:26:34.999964 ffff98e1e120 Level-0 table #63: 0 bytes OK -2024/08/29-10:26:35.010846 ffff98e1e120 Delete type=0 #61 -2024/08/29-10:26:35.057081 ffff98e1e120 Manual compaction at level-0 from '!folders!FWZZgy9tnHSHa9tk' @ 72057594037927935 : 1 .. '!items!yotw9uAVluGmTHO4' @ 0 : 0; will stop at (end) -2024/08/29-10:26:35.081447 ffff98e1e120 Manual compaction at level-1 from '!folders!FWZZgy9tnHSHa9tk' @ 72057594037927935 : 1 .. '!items!yotw9uAVluGmTHO4' @ 0 : 0; will stop at (end) +2024/08/29-10:26:56.687769 ffff997af120 Recovering log #62 +2024/08/29-10:26:56.711126 ffff997af120 Delete type=0 #62 +2024/08/29-10:26:56.711385 ffff997af120 Delete type=3 #60 diff --git a/packs/blasphemy/MANIFEST-000064 b/packs/blasphemy/MANIFEST-000066 similarity index 67% rename from packs/blasphemy/MANIFEST-000064 rename to packs/blasphemy/MANIFEST-000066 index 9e429b6cd777f47e53f02a262c5adaff5f67653b..dd211482d1ab5aa167fec572b0844d1af5753603 100644 GIT binary patch delta 23 fcmdnbxSw&tdV!<4vqd=>7@3?o8JJyI{xAXnTVw`O delta 23 ecmdnbxSw&tdVxI2$F7_Vj7*N449rd}e;5H*PzD 48976 bytes -2024/08/29-10:26:35.079221 ffff98e1e120 compacted to: files[ 0 1 1 0 0 0 0 ] -2024/08/29-10:26:35.080108 ffff98e1e120 Delete type=2 #25 -2024/08/29-10:26:35.080571 ffff98e1e120 Delete type=2 #28 -2024/08/29-10:26:35.081543 ffff98e1e120 Manual compaction at level-0 from '!items!zWyiMAc1vXBKa6Oa' @ 52 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) -2024/08/29-10:26:35.093995 ffff98e1e120 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 129 : 1 -2024/08/29-10:26:35.094056 ffff98e1e120 Compacting 1@1 + 1@2 files -2024/08/29-10:26:35.113586 ffff98e1e120 Generated table #35@1: 87 keys, 48710 bytes -2024/08/29-10:26:35.113680 ffff98e1e120 Compacted 1@1 + 1@2 files => 48710 bytes -2024/08/29-10:26:35.121304 ffff98e1e120 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/08/29-10:26:35.122207 ffff98e1e120 Delete type=2 #21 -2024/08/29-10:26:35.122692 ffff98e1e120 Delete type=2 #34 -2024/08/29-10:26:35.143646 ffff98e1e120 Manual compaction at level-1 from '!items!ziiFc860EZanavt1' @ 129 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/08/29-10:26:56.725720 ffff9afdf120 Recovering log #32 +2024/08/29-10:26:56.757870 ffff9afdf120 Delete type=3 #30 +2024/08/29-10:26:56.758207 ffff9afdf120 Delete type=0 #32 diff --git a/packs/blasphemy2/MANIFEST-000036 b/packs/blasphemy2/MANIFEST-000038 similarity index 67% rename from packs/blasphemy2/MANIFEST-000036 rename to packs/blasphemy2/MANIFEST-000038 index 218d14f5ed1d522c95b8581c0a2d1486569f8e88..4e1b1ecd0a3c2fabda7a0e5a47e7c177781c29f6 100644 GIT binary patch delta 23 fcmdnbxSw&tdI9rOo18fr7@5>L8JIO#mNNnXS(OFZ delta 23 ecmdnbxSw&tdV!WM*+@PI;l7@1r+8JJyJCNKg3S;__N delta 23 ecmdnTxQ}tdI)Tjm&KaBxj7(0P49w0f6Bq$nO9l7< diff --git a/packs/tables/000065.log b/packs/tables/000067.log similarity index 100% rename from packs/tables/000065.log rename to packs/tables/000067.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index 5d746f2..7873dc6 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000064 +MANIFEST-000066 diff --git a/packs/tables/LOG b/packs/tables/LOG index 1cdfeee..f2f3f4d 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,3 +1,3 @@ -2024/08/29-10:26:56.771772 ffff99fbf120 Recovering log #62 -2024/08/29-10:26:56.800428 ffff99fbf120 Delete type=0 #62 -2024/08/29-10:26:56.800696 ffff99fbf120 Delete type=3 #60 +2024/08/30-08:08:42.214 4478 Recovering log #65 +2024/08/30-08:08:42.217 4478 Delete type=0 #65 +2024/08/30-08:08:42.219 4478 Delete type=3 #64 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index 7ec989d..1cdfeee 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,8 +1,3 @@ -2024/08/29-10:26:24.289452 ffff9afdf120 Recovering log #59 -2024/08/29-10:26:24.319884 ffff9afdf120 Delete type=0 #59 -2024/08/29-10:26:24.320167 ffff9afdf120 Delete type=3 #58 -2024/08/29-10:26:35.044729 ffff98e1e120 Level-0 table #63: started -2024/08/29-10:26:35.044965 ffff98e1e120 Level-0 table #63: 0 bytes OK -2024/08/29-10:26:35.056815 ffff98e1e120 Delete type=0 #61 -2024/08/29-10:26:35.081332 ffff98e1e120 Manual compaction at level-0 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) -2024/08/29-10:26:35.081636 ffff98e1e120 Manual compaction at level-1 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) +2024/08/29-10:26:56.771772 ffff99fbf120 Recovering log #62 +2024/08/29-10:26:56.800428 ffff99fbf120 Delete type=0 #62 +2024/08/29-10:26:56.800696 ffff99fbf120 Delete type=3 #60 diff --git a/packs/tables/MANIFEST-000064 b/packs/tables/MANIFEST-000066 similarity index 71% rename from packs/tables/MANIFEST-000064 rename to packs/tables/MANIFEST-000066 index f8dc702f2d4d4bc3ed2b051e564738c8b2e41844..9f83bd7ad1ba9670102792caec8795fbc0df1081 100644 GIT binary patch delta 23 ecmeBX>SmhoTi`DTzaJ+9Ba<^H1G5XuQbqt!8USmhoTfl5?xf~}0Ba From 8809f465b97b4e73631444f3c866f1b0d0e7ec10 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Fri, 30 Aug 2024 08:16:37 -0400 Subject: [PATCH 046/103] Added in colors into schemas to make it easier to edit and change aesthetics on page. --- module/data/agenda/item-agenda.mjs | 17 +++++++++-------- module/data/blasphemy/item-blasphemy.mjs | 13 +++++++++---- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/module/data/agenda/item-agenda.mjs b/module/data/agenda/item-agenda.mjs index 3424116..e30a89b 100644 --- a/module/data/agenda/item-agenda.mjs +++ b/module/data/agenda/item-agenda.mjs @@ -7,17 +7,18 @@ export default class CainAgenda extends CainItemBase { const requiredInteger = { required: true, nullable: false, integer: true }; const schema = super.defineSchema(); - schema.agendaName = new fields.StringField({ required: true, nullable: false, initial: "New Agenda" }); - - schema.formula = new fields.StringField({ blank: true }); + schema.unboldedTasks = new fields.ArrayField(new fields.StringField()); + schema.boldedTasks = new fields.ArrayField(new fields.StringField()); + schema.abilities = new fields.ArrayField(new fields.StringField()); - schema.unboldedTasks = new fields.ArrayField(new fields.StringField()) - schema.boldedTasks = new fields.ArrayField(new fields.StringField()) + // New fields for colors + schema.primaryColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); + schema.accentColor = new fields.StringField({ required: true, nullable: false, initial: "#FFFFFF" }); + schema.secondaryColor = new fields.StringField({ required: true, nullable: false, initial: "#CCCCCC" }); + schema.textColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); - schema.abilities = new fields.ArrayField(new fields.StringField()); return schema; } -} - +} \ No newline at end of file diff --git a/module/data/blasphemy/item-blasphemy.mjs b/module/data/blasphemy/item-blasphemy.mjs index 8e7c790..4b25d40 100644 --- a/module/data/blasphemy/item-blasphemy.mjs +++ b/module/data/blasphemy/item-blasphemy.mjs @@ -6,10 +6,15 @@ export default class CainBlasphemy extends CainItemBase { const requiredInteger = { required: true, nullable: false, integer: true }; const schema = super.defineSchema(); - schema.blasphemyName = new fields.StringField({ required: true, nullable: false, initial: "default" }); - schema.powers = new fields.ArrayField(new fields.StringField(), {required: true, nullable: false, initial: []}); - + schema.powers = new fields.ArrayField(new fields.StringField(), { required: true, nullable: false, initial: [] }); + + // New fields for colors + schema.primaryColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); + schema.accentColor = new fields.StringField({ required: true, nullable: false, initial: "#FFFFFF" }); + schema.secondaryColor = new fields.StringField({ required: true, nullable: false, initial: "#CCCCCC" }); + schema.textColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); + return schema; - } + } } \ No newline at end of file From 699772794f67b3eb354ac05296cd2e65933a0675 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Fri, 30 Aug 2024 08:20:46 -0400 Subject: [PATCH 047/103] re-edited the schema to be in base item. I do not see why any item we have could not benefit from this. --- module/data/agenda/item-agenda.mjs | 6 ------ module/data/base-item.mjs | 5 +++++ module/data/blasphemy/item-blasphemy.mjs | 6 ------ 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/module/data/agenda/item-agenda.mjs b/module/data/agenda/item-agenda.mjs index e30a89b..e466970 100644 --- a/module/data/agenda/item-agenda.mjs +++ b/module/data/agenda/item-agenda.mjs @@ -13,12 +13,6 @@ export default class CainAgenda extends CainItemBase { schema.boldedTasks = new fields.ArrayField(new fields.StringField()); schema.abilities = new fields.ArrayField(new fields.StringField()); - // New fields for colors - schema.primaryColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); - schema.accentColor = new fields.StringField({ required: true, nullable: false, initial: "#FFFFFF" }); - schema.secondaryColor = new fields.StringField({ required: true, nullable: false, initial: "#CCCCCC" }); - schema.textColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); - return schema; } } \ No newline at end of file diff --git a/module/data/base-item.mjs b/module/data/base-item.mjs index 2aac4bd..731b946 100644 --- a/module/data/base-item.mjs +++ b/module/data/base-item.mjs @@ -8,6 +8,11 @@ export default class CainItemBase extends CainDataModel { schema.description = new fields.StringField({ required: true, blank: true }); + schema.primaryColor = new fields.StringField({ required: false, nullable: false, initial: "#000000" }); + schema.accentColor = new fields.StringField({ required: false, nullable: false, initial: "#FFFFFF" }); + schema.secondaryColor = new fields.StringField({ required: false, nullable: false, initial: "#CCCCCC" }); + schema.textColor = new fields.StringField({ required: false, nullable: false, initial: "#000000" }); + return schema; } diff --git a/module/data/blasphemy/item-blasphemy.mjs b/module/data/blasphemy/item-blasphemy.mjs index 4b25d40..567a33a 100644 --- a/module/data/blasphemy/item-blasphemy.mjs +++ b/module/data/blasphemy/item-blasphemy.mjs @@ -9,12 +9,6 @@ export default class CainBlasphemy extends CainItemBase { schema.blasphemyName = new fields.StringField({ required: true, nullable: false, initial: "default" }); schema.powers = new fields.ArrayField(new fields.StringField(), { required: true, nullable: false, initial: [] }); - // New fields for colors - schema.primaryColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); - schema.accentColor = new fields.StringField({ required: true, nullable: false, initial: "#FFFFFF" }); - schema.secondaryColor = new fields.StringField({ required: true, nullable: false, initial: "#CCCCCC" }); - schema.textColor = new fields.StringField({ required: true, nullable: false, initial: "#000000" }); - return schema; } } \ No newline at end of file From 97ca16824b6cbf3427a04ddea80195c29661d84b Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Fri, 30 Aug 2024 11:54:03 -0400 Subject: [PATCH 048/103] Item sheet updates --- module/sheets/item-sheet.mjs | 29 +- packs/agenda2/LOG | 3 + packs/blasphemy2/LOG | 3 + templates/item/item-blasphemy-sheet.hbs | 339 +++--------------- templates/item/item-blasphemyPower-sheet.hbs | 300 ---------------- .../item/parts/item-blasphemy-power-sheet.hbs | 124 ++++++- 6 files changed, 195 insertions(+), 603 deletions(-) diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index 85c9e3a..0a33c25 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -77,7 +77,7 @@ export class CainItemSheet extends ItemSheet { return { id: item.id, name: item.name - };; return {name: "INVALID"}; + };; return {name: "INVALID"}; }).filter(item => item.name !== "INVALID"); } if (this.item.type === "blasphemy") { @@ -94,6 +94,14 @@ export class CainItemSheet extends ItemSheet { // Prepare active effects for easier access context.effects = prepareActiveEffectCategories(this.item.effects); + + // Set CSS variables for colors + const root = document.documentElement; + root.style.setProperty('--primary-color', this.item.system.primaryColor || '#000000'); + root.style.setProperty('--accent-color', this.item.system.accentColor || '#FFFFFF'); + root.style.setProperty('--secondary-color', this.item.system.secondaryColor || '#CCCCCC'); + root.style.setProperty('--text-color', this.item.system.textColor || '#000000'); + return context; } @@ -114,6 +122,9 @@ export class CainItemSheet extends ItemSheet { ); html.find('#addTaskToAgenda').click(this._addTaskToAgenda.bind(this)); + + // Color pickers + html.find('input[type="color"]').on('input', this._updateColor.bind(this, html)); } _addTaskToAgenda(event) { @@ -135,4 +146,18 @@ export class CainItemSheet extends ItemSheet { console.log(newTask) console.log(this.item.system); } -} + + _updateColor(html, event) { + const colorType = event.target.getAttribute('data-id'); + const colorValue = event.target.value; + const eventId = event.target.id; + console.log(`Color picker event: ${eventId}`); + console.log(`Updating color: ${colorType} to ${colorValue}`); + this.item.update({[`system.${eventId}`]: colorValue}, {render: false}).then(() => { + html[0].style.setProperty(`--${colorType}`, colorValue); + console.log(`CSS variable --${colorType} set to ${colorValue}`); + }).catch(err => { + console.error(`Error updating item with ${colorType}: ${colorValue}`, err); + }); + } +} \ No newline at end of file diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index e69de29..f68289a 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -0,0 +1,3 @@ +2024/08/30-08:08:42.098 5168 Recovering log #36 +2024/08/30-08:08:42.103 5168 Delete type=0 #36 +2024/08/30-08:08:42.104 5168 Delete type=3 #35 diff --git a/packs/blasphemy2/LOG b/packs/blasphemy2/LOG index e69de29..7953411 100644 --- a/packs/blasphemy2/LOG +++ b/packs/blasphemy2/LOG @@ -0,0 +1,3 @@ +2024/08/30-08:08:42.180 3a60 Recovering log #37 +2024/08/30-08:08:42.184 3a60 Delete type=0 #37 +2024/08/30-08:08:42.184 3a60 Delete type=3 #36 diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index 1a60b6e..6808fe3 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -1,8 +1,14 @@ -
    +
    -

    {{system.blasphemyName}}

    +

    {{system.blasphemyName}}

    +
    + + + + +
    @@ -13,9 +19,7 @@ {{!-- Sheet Body --}} - {{! Sheet Body }}
    -
    {{#each blasphemyPassives}} {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} @@ -23,312 +27,57 @@
    - {{! As you add new fields, add them in here! }} {{#each blasphemyPowers}} {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} {{/each}}
    -
    \ No newline at end of file diff --git a/templates/item/item-blasphemyPower-sheet.hbs b/templates/item/item-blasphemyPower-sheet.hbs index 39a67f0..d6f5cd6 100644 --- a/templates/item/item-blasphemyPower-sheet.hbs +++ b/templates/item/item-blasphemyPower-sheet.hbs @@ -1,302 +1,2 @@ {{> blasphemyPower item classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} - - \ No newline at end of file diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index 4776148..d847bb2 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -1,4 +1,4 @@ -
    +
    @@ -6,7 +6,6 @@
    -
    @@ -19,8 +18,121 @@
    - {{!-- Sheet Body --}} -
    - {{#formatted system.powerDescription}}{{/formatted}} +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + {{#formatted system.powerDescription}}{{/formatted}}
    - \ No newline at end of file + + + \ No newline at end of file From 1add0d6352318569248ce342d67bc728e2da8699 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Fri, 30 Aug 2024 19:57:31 +0200 Subject: [PATCH 049/103] ui-border and padding removals --- css/cain.css | 14 +++++++++----- templates/actor/actor-character-sheet.hbs | 12 +++++++----- templates/actor/parts/actor-features.hbs | 4 ++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/css/cain.css b/css/cain.css index be8d7a8..5111d4a 100644 --- a/css/cain.css +++ b/css/cain.css @@ -740,7 +740,6 @@ background-color: #262626; padding: 10px; border-radius: 5px; - border: 1px dashed #00bfff; /* Dashed border for a report look */ } .mob-psycho-charname input { @@ -753,7 +752,6 @@ .mob-psycho-grid { color: #ffffff; gap: 10px; - border: 1px solid #00bfff; /* Jujutsu Kaisen inspired accent color */ padding: 10px; margin: 10px 0; } @@ -762,7 +760,6 @@ background-color: #333333; padding: 5px; border-radius: 5px; - border: 1px dashed #00bfff; /* Dashed border for a report look */ } .mob-psycho-label { @@ -841,7 +838,7 @@ background-color: #262626; padding: 5px; border-radius: 5px; - border: 1px dashed #00bfff; /* Dashed border for a report look */ + margin: 2px; /* Dashed border for a report look */ } .mob-psycho-extra-dice { @@ -855,7 +852,6 @@ background-color: #262626; padding: 5px; border-radius: 5px; - border: 1px dashed #00bfff; /* Dashed border for a report look */ } .mob-psycho-main { @@ -947,6 +943,14 @@ color: #ff4d4d; /* Red color for delete icon */ } +.no-border{ + border: none !important; +} + +.no-padding{ + padding: none !important; +} + .flavor-text { color: #ffffff; /* White text */ font-style: italic; diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index 3fca083..7b0a45b 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -1,4 +1,4 @@ -
    + {{!-- Sheet Header --}}
    @@ -8,7 +8,7 @@

    -
    +
    @@ -52,7 +52,9 @@
    - +
    + +
    @@ -72,7 +74,7 @@
    {{!-- Owned Features Tab --}} -
    +
    {{!-- Biography Tab --}} -
    +
    {{!-- Editors must receive enriched text data from getData to properly handle rolls --}} {{editor enrichedBiography target="system.biography" button=True engine="prosemirror" button=true editable=editable class="mob-psycho-editor"}} diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 2cb7e68..d884b3b 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -97,8 +97,8 @@
    {{#times 7}}
    - CAT {{@index}} - + CAT {{@index}} +
    {{/times}} From 4c41d2e26da7f64245d2e45d7449121f747c9c70 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Fri, 30 Aug 2024 20:34:59 +0200 Subject: [PATCH 050/103] ui-border and padding removals --- css/cain.css | 5 +---- templates/actor/actor-character-sheet.hbs | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/css/cain.css b/css/cain.css index 5111d4a..8adec77 100644 --- a/css/cain.css +++ b/css/cain.css @@ -737,7 +737,6 @@ } .mob-psycho-header-fields { - background-color: #262626; padding: 10px; border-radius: 5px; } @@ -816,8 +815,6 @@ .mob-psycho-tab { background-color: #0d0d0d; - padding: 10px; - border: 1px solid #00bfff; /* Jujutsu Kaisen inspired accent color */ } .mob-psycho-sidebar { @@ -858,7 +855,7 @@ background-color: #1a1a1a; padding: 10px; border-radius: 5px; - border: 2px solid #00bfff; /* Jujutsu Kaisen inspired accent color */ + border: 1px dashed #00bfff; /* Jujutsu Kaisen inspired accent color */ } .mob-psycho-editor { diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index 7b0a45b..15af0ee 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -122,7 +122,7 @@
    {{!-- Biography Tab --}} -
    +
    {{!-- Editors must receive enriched text data from getData to properly handle rolls --}} {{editor enrichedBiography target="system.biography" button=True engine="prosemirror" button=true editable=editable class="mob-psycho-editor"}} From 76a21b43ba9f03dcad547918586126a8d0ee0948 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Fri, 30 Aug 2024 20:46:51 +0200 Subject: [PATCH 051/103] removed background on afflictions --- css/cain.css | 1 - 1 file changed, 1 deletion(-) diff --git a/css/cain.css b/css/cain.css index 8adec77..074395a 100644 --- a/css/cain.css +++ b/css/cain.css @@ -846,7 +846,6 @@ } .mob-psycho-affliction { - background-color: #262626; padding: 5px; border-radius: 5px; } From 24f39229e17eddd15e7ec9215268d3e5a097989c Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Fri, 30 Aug 2024 17:43:39 -0500 Subject: [PATCH 052/103] added in cat data to formatting helper - need to consider reformatting how this is done though --- module/cain.mjs | 127 +++++++++++++++++- templates/actor/parts/actor-abilities.hbs | 4 +- .../item/parts/item-blasphemy-power-sheet.hbs | 2 +- 3 files changed, 128 insertions(+), 5 deletions(-) diff --git a/module/cain.mjs b/module/cain.mjs index 3941cfa..6cd0ce3 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -168,17 +168,140 @@ Handlebars.registerHelper('times', function(n, block) { return accum; }); -Handlebars.registerHelper('formatted', function(text) { +Handlebars.registerHelper('formatted', function(text, category) { + // console.log(category); + const categoryTable = [ + { + 'CAT': 0, + 'people': 'one', + 'size': 'human', + 'area': 'personal', + 'distance_short': 'touch', + 'distance_long': 'touch', + 'distance_extreme': 'touch', + 'speed': 'average human', + 'magnitude': 'small' + }, + { + 'CAT': 1, + 'people': 'a few', + 'size': 'heavy furniture', + 'area': 'a few people', + 'distance_short': '0-2 rooms', + 'distance_long': '3-4 rooms', + 'distance_extreme': '5+ rooms', + 'speed': 'fast human', + 'magnitude': 'Noticable' + }, + { + 'CAT': 2, + 'people': 'small group', + 'size': 'large animal', + 'area': 'entire room', + 'distance_short': '0-2 street widths', + 'distance_long': '3-4 street widths', + 'distance_extreme': '5+ street widths', + 'speed': 'fast animal', + 'magnitude': 'large' + }, + { + 'CAT': 3, + 'people': 'large group', + 'size': 'vehicle', + 'area': 'A few rooms', + 'distance_short': '0-2 blocks', + 'distance_long': '3-4 blocks', + 'distance_extreme': '5+ blocks', + 'speed': 'car', + 'magnitude': 'very large' + }, + { + 'CAT': 4, + 'people': 'a crowd', + 'size': 'large vehicle', + 'area': 'whole building', + 'distance_short': '0-8 blocks', + 'distance_long': '9-16 blocks', + 'distance_extreme': '17+ blocks', + 'speed': 'train', + 'magnitude': 'massive' + }, + { + 'CAT': 5, + 'people': 'a huge crowd', + 'size': 'building', + 'area': 'a city block', + 'distance_short': 'across town', + 'distance_long': 'across town', + 'distance_extreme': 'across town', + 'speed': 'maglev', + 'magnitude': 'destructive' + }, + { + 'CAT': 6, + 'people': 'thousands', + 'size': 'large building', + 'area': 'a whole neighborhood', + 'distance_short': 'visual range', + 'distance_long': 'visual range', + 'distance_extreme': 'visual range', + 'speed': 'airliner', + 'magnitude': 'overwhelming' + }, + { + 'CAT': 7, + 'people': 'many thousands', + 'size': 'skyscraper', + 'area': 'a whole town', + 'distance_short': 'over the horizon', + 'distance_long': 'over the horizon', + 'distance_extreme': 'over the horizon', + 'speed': 'jet fighter', + 'magnitude': 'cataclysmic' + } + ] // Check if the text is defined and is a string + let parse_cat_values = (inputString => { + const regex = /\{\s+(\S+)\s+(\S+)\}/g; + + const matches = [...inputString.matchAll(regex)]; + + return matches.map(match => ({ + string: match[0], + type: match[1], + modifier: match[2] + })); + }); + if (typeof text === 'string') { + const CatFormattingData = parse_cat_values(text); + console.log(CatFormattingData); + //TODO: fix hardcoded category limits - it'd be nice to have the option to expand Category beyond 0-7 + let updatedText = text; + if (isNaN(category) || Number(category) < 0 || Number(category) > 7) { + CatFormattingData.forEach(catData => { + const replacementString = ` CAT${(catData.modifier <= 0 ? '' : '+') + (catData.modifier == 0 ? '' : catData.modifier)}`; + updatedText = updatedText.replace(catData.string, replacementString) + }) + } else { + CatFormattingData.forEach(catData => { + const catIndex = Math.max(Math.min(Number(category) + Number(catData.modifier), 7), 0); + const replacementString = ` ${categoryTable[catIndex][catData.type]}`; + console.log(replacementString); + updatedText = updatedText.replace(catData.string, replacementString) + }) + } + // Replace all newlines with
    tags - return new Handlebars.SafeString(text.replace(/\n/g, '
    ')); + return new Handlebars.SafeString(updatedText.replace(/\n/g, '
    ')); } else { return text; // Return the text as is if it's not a string } }); + + Handlebars.registerHelper('json', function(context) { return JSON.stringify(context); }); diff --git a/templates/actor/parts/actor-abilities.hbs b/templates/actor/parts/actor-abilities.hbs index e988d1e..03403d8 100644 --- a/templates/actor/parts/actor-abilities.hbs +++ b/templates/actor/parts/actor-abilities.hbs @@ -145,7 +145,7 @@

    Keywords

    {{this.system.keywords}}

    Power Description

    -

    {{#formatted this.system.powerDescription}}{{/formatted}}

    +

    {{formatted this.system.powerDescription ../../system.CATLEVEL.value}}

    {{/each}} @@ -170,7 +170,7 @@

    Keywords

    {{this.system.keywords}}

    Power Description

    -

    {{#formatted this.system.powerDescription}}{{/formatted}}

    +

    {{formatted this.system.powerDescription ../../system.CATLEVEL.value}}

    {{/each}} diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index 4776148..8ea0251 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -21,6 +21,6 @@ {{!-- Sheet Body --}}
    - {{#formatted system.powerDescription}}{{/formatted}} + {{formatted system.powerDescription "description"}}
    \ No newline at end of file From 63f52e1040cd40010821f080a23c54fa20f97c8c Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Sat, 31 Aug 2024 10:17:22 -0400 Subject: [PATCH 053/103] Added in Blasphemy power sheet customization to the fullest. --- module/data/base-item.mjs | 9 +- module/sheets/item-sheet.mjs | 21 +++ templates/item/item-blasphemy-sheet.hbs | 158 +++++++++++------ .../item/parts/item-blasphemy-power-sheet.hbs | 159 +++++++++++++----- 4 files changed, 249 insertions(+), 98 deletions(-) diff --git a/module/data/base-item.mjs b/module/data/base-item.mjs index 731b946..397f2a8 100644 --- a/module/data/base-item.mjs +++ b/module/data/base-item.mjs @@ -8,10 +8,11 @@ export default class CainItemBase extends CainDataModel { schema.description = new fields.StringField({ required: true, blank: true }); - schema.primaryColor = new fields.StringField({ required: false, nullable: false, initial: "#000000" }); - schema.accentColor = new fields.StringField({ required: false, nullable: false, initial: "#FFFFFF" }); - schema.secondaryColor = new fields.StringField({ required: false, nullable: false, initial: "#CCCCCC" }); - schema.textColor = new fields.StringField({ required: false, nullable: false, initial: "#000000" }); + // Set default color scheme to purple + schema.primaryColor = new fields.StringField({ required: false, nullable: false, initial: "#800080" }); // Purple + schema.accentColor = new fields.StringField({ required: false, nullable: false, initial: "#D8BFD8" }); // Thistle + schema.secondaryColor = new fields.StringField({ required: false, nullable: false, initial: "#9370DB" }); // Medium Purple + schema.textColor = new fields.StringField({ required: false, nullable: false, initial: "#FFFFFF" }); // White return schema; } diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index 0a33c25..f8017e9 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -125,6 +125,27 @@ export class CainItemSheet extends ItemSheet { // Color pickers html.find('input[type="color"]').on('input', this._updateColor.bind(this, html)); + + html.find('.color-picker-toggle').click(() => { + const colorPickerContainer = html.find('.color-picker-container'); + const colorPickers = html.find('.color-pickers'); + + if (colorPickerContainer.hasClass('active')) { + colorPickers.css('transform', 'translateX(-30px)'); + colorPickers.css('opacity', '0'); + colorPickers.css('pointer-events', 'none'); // Disable interaction + setTimeout(() => { + colorPickerContainer.removeClass('active'); + }, 500); // Match the transition duration + } else { + colorPickerContainer.addClass('active'); + setTimeout(() => { + colorPickers.css('transform', 'translateX(0)'); + colorPickers.css('opacity', '1'); + colorPickers.css('pointer-events', 'auto'); // Enable interaction + }, 10); // Small delay to trigger the transition + } + }); } _addTaskToAgenda(event) { diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index 6808fe3..6db3369 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -1,14 +1,8 @@ -
    +

    {{system.blasphemyName}}

    -
    - - - - -
    @@ -35,49 +29,109 @@
    \ No newline at end of file diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index d847bb2..4ce166b 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -1,45 +1,38 @@ -
    +
    -

    - - + +
    - +
    - +
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - +

    Description

    {{#formatted system.powerDescription}}{{/formatted}}
    + +
    + +
    + + + + +
    +
    \ No newline at end of file From 2ef655a0a320202e112369c228d737fd16aa2c1f Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sat, 31 Aug 2024 16:54:32 +0200 Subject: [PATCH 054/103] implemented CAT selection via image --- css/cain.css | 23 ++++++++++++++++++----- module/cain.mjs | 4 ++++ module/helpers/index-offset.mjs | 3 +++ module/sheets/actor-sheet.mjs | 15 +++++++++++++++ templates/actor/parts/actor-features.hbs | 6 ++++-- 5 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 module/helpers/index-offset.mjs diff --git a/css/cain.css b/css/cain.css index 074395a..f68ae78 100644 --- a/css/cain.css +++ b/css/cain.css @@ -401,13 +401,26 @@ text-align: center; } -.cain .checkbox-item img { - max-width: 45px; /* Adjust the image size as needed */ +.cain .checkbox-item_cat label { + margin-bottom: 5px; /* Space between label and checkbox */ +} + +.CAT-selector { + width: 45px; + height: 45px; + overflow: hidden; margin-bottom: 5px; /* Space between image and label */ + padding: 1px; } -.cain .checkbox-item_cat label { - margin-bottom: 5px; /* Space between label and checkbox */ +.CAT-selector img { + width: 100%; + border: none !important; +} + +.CAT-selected{ + border: #ff3333 dashed 1px; + padding: unset !important; } .extra-dice-section { @@ -944,7 +957,7 @@ } .no-padding{ - padding: none !important; + padding: unset !important; } .flavor-text { diff --git a/module/cain.mjs b/module/cain.mjs index 6d87ece..8be3af4 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -183,6 +183,10 @@ Handlebars.registerHelper('json', function(context) { return JSON.stringify(context); }); +Handlebars.registerHelper('offset', function(value, offset, options) { + return parseInt(value) + offset; +}); + /* -------------------------------------------- */ /* Ready Hook */ /* -------------------------------------------- */ diff --git a/module/helpers/index-offset.mjs b/module/helpers/index-offset.mjs new file mode 100644 index 0000000..cc0e1fb --- /dev/null +++ b/module/helpers/index-offset.mjs @@ -0,0 +1,3 @@ +var Handlebars = require('handlebars'); + +// the index offset handlebar shortcut should go here once we figured importing out \ No newline at end of file diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index ceefe72..0a25c45 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -261,6 +261,10 @@ export class CainActorSheet extends ActorSheet { html.find('.blasphemy-power-to-chat').on('click', this._sendBlasphemyPowerMessage.bind(this)); html.find('.remove-blasphemy-power-button').on('click', this._removeBlasphemyPowerButton.bind(this)); html.find('.remove-blasphemy-button').on('click', this._removeBlasphemyButton.bind(this)); + + let cat_selector_imgs = html.find('.CAT-selector') + cat_selector_imgs.on('click', this._onCATSelect.bind(this, true)); + cat_selector_imgs.on('contextmenu', this._onCATSelect.bind(this, false)); html.find('#add-agenda-ability-button').on('click', this._addAgendaAbility.bind(this)); html.find('.add-blasphemy-power-button').on('click', this._addBlasphemyPower.bind(this)); @@ -870,6 +874,17 @@ export class CainActorSheet extends ActorSheet { } + _onCATSelect(leftClick, event){ + let selectedCat = event.currentTarget.dataset.cat + if(leftClick){ + //set to new category + this.actor.update({["system.CATLEVEL.value"]: selectedCat}); + } + else{ + //set to 0 + this.actor.update({["system.CATLEVEL.value"]: 0}); + } + } _onRollButtonClick(event) { const skill = document.querySelector('select[name="system.skill"]').value; diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index d884b3b..e479941 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -96,8 +96,10 @@
    {{#times 7}} -
    - CAT {{@index}} +
    +
    + CAT {{@index}} +
    From 82298496ded71e6ddffa669d1c01b740c448fc98 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sat, 31 Aug 2024 20:11:01 +0200 Subject: [PATCH 055/103] CHANGE: Updated CAT selection --- css/cain.css | 13 +++++++++++-- lang/en.json | 7 +++++++ module/sheets/actor-sheet.mjs | 6 ++++++ templates/actor/parts/actor-features.hbs | 7 +++---- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/css/cain.css b/css/cain.css index f68ae78..7dd1a22 100644 --- a/css/cain.css +++ b/css/cain.css @@ -388,8 +388,11 @@ } /* New styles for checkbox group */ -.cain .checkbox-group_cat { +.cain .group_cat { + align-items: center; + justify-content: center; display: flex; + flex-wrap: wrap; flex-direction: row; gap: 10px; /* Adjust the gap between items as needed */ } @@ -409,6 +412,7 @@ width: 45px; height: 45px; overflow: hidden; + cursor: pointer; margin-bottom: 5px; /* Space between image and label */ padding: 1px; } @@ -419,10 +423,15 @@ } .CAT-selected{ - border: #ff3333 dashed 1px; + border: #ff3333 solid 1px; padding: unset !important; } +.CAT-session-text{ + color: white; + width:100%; +} + .extra-dice-section { background-color: #f0f0f0; /* Light grey background */ border: 1px solid #ccc; /* Light grey border */ diff --git a/lang/en.json b/lang/en.json index acbb55d..8bc4a18 100644 --- a/lang/en.json +++ b/lang/en.json @@ -53,5 +53,12 @@ "agendaTask": "Agenda Task", "agendaAbility": "Agenda Ability" } + }, + + "SHEET": { + "TOOLTIPS": { + "SURVIVED": "Missions Survived", + "CATSELECT": "Right click to set CAT 0" + } } } diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 0a25c45..97de294 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -77,10 +77,16 @@ export class CainActorSheet extends ActorSheet { ); this._calculateRanges(context); + this._addSheetConstants(context); return context; } + _addSheetConstants(context){ + context.sheetConstants = {} + context.sheetConstants.CATSessionNumbers = ["0", "2", "3", "5", "7", "X", "X"]; + } + _prepareCharacterData(context) { // Character-specific data preparation context.agendas = []; diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index e479941..28ddc6c 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -94,14 +94,13 @@

    Cat Level

    -
    +
    {{#times 7}}
    -
    +
    CAT {{@index}}
    - - +
    {{lookup sheetConstants.CATSessionNumbers (offset @index -1)}}
    {{/times}}
    From a1a370fd120a0a258f07d53371ee34c295e8b722 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Sat, 31 Aug 2024 19:38:47 -0400 Subject: [PATCH 056/103] Added in alot of styling improvements, alot of changes to blasphemy ideas, default colors etc. --- css/cain.css | 141 ++++++++++++ module/cain.mjs | 2 + module/data/base-item.mjs | 10 +- module/sheets/item-sheet.mjs | 75 +++++-- templates/item/item-blasphemy-sheet.hbs | 205 ++++++++++++++---- .../parts/item-blasphemy-power-partial.hbs | 24 ++ .../item/parts/item-blasphemy-power-sheet.hbs | 50 +++-- 7 files changed, 413 insertions(+), 94 deletions(-) create mode 100644 templates/item/parts/item-blasphemy-power-partial.hbs diff --git a/css/cain.css b/css/cain.css index 074395a..b5124fc 100644 --- a/css/cain.css +++ b/css/cain.css @@ -1392,4 +1392,145 @@ .talisman-button.clicked img, .risk-roll-button.clicked img, .fate-roll-button.clicked img, .player-overview-button.clicked img { filter: brightness(0.8); /* Adjust the brightness to indicate the button has been clicked */ +} + +.form-blasphemy-power { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 100%; + border-radius: 15px; + padding: 25px; + gap: 25px; + box-shadow: 0 0 15px var(--accent-color, #ff00ff), 0 0 30px var(--accent-color, #ff00ff); + font-family: 'Lacquer', sans-serif; + background: linear-gradient(135deg, var(--primary-color, #2a2a2a), var(--secondary-color, #555)); + color: var(--text-color, #ffffff); + margin: 0; + border: 3px solid var(--secondary-color, #555); + overflow-y: auto; + position: relative; + width: 100%; +} + +.form-blasphemy-power label { + font-weight: bold; + color: var(--text-color, #ffffff); + text-decoration: underline; +} + +.form-blasphemy-power .blasphemy-power-header { + display: flex; + align-items: flex-start; + gap: 20px; + width: 100%; + border-bottom: 3px solid var(--secondary-color, #555); + padding-bottom: 15px; + overflow: visible; /* Override the parent overflow */ + background: linear-gradient(135deg, var(--accent-color, #ff00ff), var(--primary-color, #2a2a2a)); + border-radius: 10px; +} + +.form-blasphemy-power .header-fields { + display: flex; + flex-direction: column; + width: 100%; +} + +.form-blasphemy-power .form-group { + display: flex; + flex-direction: column; + gap: 5px; + width: 100%; +} + +.form-blasphemy-power .charname { + font-size: 24px; + font-weight: bold; +} + +.form-blasphemy-power .profile-img { + border: 3px solid var(--accent-color, #ff00ff); + border-radius: 50%; + width: 80px; + height: 80px; + object-fit: cover; + box-shadow: 0 0 10px var(--accent-color, #ff00ff), 0 0 20px var(--accent-color, #ff00ff); + transition: transform 0.3s ease, box-shadow 0.3s ease; +} + +.form-blasphemy-power .profile-img:hover { + transform: scale(1.1); + box-shadow: 0 0 20px var(--accent-color, #ff00ff), 0 0 40px var(--accent-color, #ff00ff); +} + +.form-blasphemy-power input[type="text"], +.form-blasphemy-power input[type="checkbox"] { + background-color: var(--primary-color, #2a2a2a); + color: var(--text-color, #f0f0f0); + border: 2px solid var(--secondary-color, #333); + border-radius: 5px; + padding: 5px; + font-family: 'Lacquer', sans-serif; + font-size: 16px; + font-weight: 400; +} + +.form-blasphemy-power input[type="checkbox"] { + width: auto; + height: auto; +} + +.form-blasphemy-power .blasphemy-power-body { + flex-grow: 1; + overflow-y: auto; + width: 100%; + max-height: 600px; + text-align: center; /* Center text in the sheet body */ + background: linear-gradient(135deg, var(--primary-color, #2a2a2a), var(--secondary-color, #555)); + padding: 20px; + border-radius: 10px; +} + +.form-blasphemy-power .blasphemy-power-body h2 { + text-align: center; /* Center the Description heading */ + color: var(--accent-color, #ff00ff); + text-shadow: 0 0 10px var(--accent-color, #ff00ff); +} + +.form-blasphemy-power .blasphemy-power-body p { + text-align: center; + padding: 10px; + border: 2px solid var(--secondary-color, #555); + border-radius: 10px; + background-color: var(--primary-color, #2a2a2a); + font-family: 'Courier New', Courier, monospace; + color: var(--text-color, #ffffff); + box-shadow: 0 0 10px var(--accent-color, #ff00ff); +} + +.form-blasphemy-power .blasphemy-power-body img { + max-width: 100%; + border-radius: 10px; + box-shadow: 0 0 10px var(--accent-color, #ff00ff); +} + +.form-blasphemy-power .blasphemy-power-header h1 { + font-size: 24px; + font-weight: bold; + color: var(--accent-color, #ff00ff); +} + +.form-blasphemy-power .blasphemy-power-header h2 { + font-size: 20px; + font-weight: bold; + color: var(--accent-color, #ff00ff); +} + +.form-blasphemy-power .power-label { + margin-left: 10px; + font-size: 18px; + font-weight: bold; + color: var(--text-color, #ff00ff); } \ No newline at end of file diff --git a/module/cain.mjs b/module/cain.mjs index 6d87ece..a30d405 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -121,7 +121,9 @@ Hooks.once('init', async function () { }); const blasphemyPowerTemplate = await getTemplate("systems/cain/templates/item/parts/item-blasphemy-power-sheet.hbs"); + const blasphemyPowerPartialTemplate = await getTemplate("systems/cain/templates/item/parts/item-blasphemy-power-partial.hbs"); Handlebars.registerPartial("blasphemyPower", blasphemyPowerTemplate); + Handlebars.registerPartial("blasphemyPowerPartial", blasphemyPowerPartialTemplate); // Preload Handlebars templates. return preloadHandlebarsTemplates(); diff --git a/module/data/base-item.mjs b/module/data/base-item.mjs index 397f2a8..b240cb8 100644 --- a/module/data/base-item.mjs +++ b/module/data/base-item.mjs @@ -8,11 +8,11 @@ export default class CainItemBase extends CainDataModel { schema.description = new fields.StringField({ required: true, blank: true }); - // Set default color scheme to purple - schema.primaryColor = new fields.StringField({ required: false, nullable: false, initial: "#800080" }); // Purple - schema.accentColor = new fields.StringField({ required: false, nullable: false, initial: "#D8BFD8" }); // Thistle - schema.secondaryColor = new fields.StringField({ required: false, nullable: false, initial: "#9370DB" }); // Medium Purple - schema.textColor = new fields.StringField({ required: false, nullable: false, initial: "#FFFFFF" }); // White + // Set default color scheme to a dark theme + schema.primaryColor = new fields.StringField({ required: false, nullable: false, initial: "#2a2a2a" }); // Dark Gray + schema.accentColor = new fields.StringField({ required: false, nullable: false, initial: "#ff00ff" }); // Magenta + schema.secondaryColor = new fields.StringField({ required: false, nullable: false, initial: "#555555" }); // Medium Gray + schema.textColor = new fields.StringField({ required: false, nullable: false, initial: "#ffffff" }); // White return schema; } diff --git a/module/sheets/item-sheet.mjs b/module/sheets/item-sheet.mjs index f8017e9..1fe2505 100644 --- a/module/sheets/item-sheet.mjs +++ b/module/sheets/item-sheet.mjs @@ -12,8 +12,8 @@ export class CainItemSheet extends ItemSheet { static get defaultOptions() { return foundry.utils.mergeObject(super.defaultOptions, { classes: ['cain', 'sheet', 'item'], - width: 520, - height: 480, + width: 640, + height: 640, tabs: [ { navSelector: '.sheet-tabs', @@ -126,26 +126,61 @@ export class CainItemSheet extends ItemSheet { // Color pickers html.find('input[type="color"]').on('input', this._updateColor.bind(this, html)); - html.find('.color-picker-toggle').click(() => { - const colorPickerContainer = html.find('.color-picker-container'); - const colorPickers = html.find('.color-pickers'); + // html click item to open + + + html.find('.item-click').click((event) => { + const itemId = $(event.currentTarget).data('id'); + const item = Item.get(itemId); + console.log(item); + if (item) { + item.sheet.render(true); + } + }); + - if (colorPickerContainer.hasClass('active')) { - colorPickers.css('transform', 'translateX(-30px)'); - colorPickers.css('opacity', '0'); - colorPickers.css('pointer-events', 'none'); // Disable interaction - setTimeout(() => { + // Setup color picker functionality + setupColorPicker(html); + + function setupColorPicker(html) { + html.find('.color-picker-toggle').click(() => { + console.log('Color picker toggle clicked'); + const colorPickerContainer = html.find('.color-picker-container'); + console.log(colorPickerContainer); + const colorPickers = html.find('.color-pickers'); + console.log(colorPickerContainer.hasClass('active')); + + if (colorPickerContainer.hasClass('active')) { + console.log('Closing color picker'); + colorPickers.css('transform', 'translateX(-30px)'); + colorPickers.css('opacity', '0'); + colorPickers.css('pointer-events', 'none'); // Disable interaction + setTimeout(() => { + colorPickerContainer.removeClass('active'); + }, 500); // Match the transition duration + } else { + colorPickerContainer.addClass('active'); + setTimeout(() => { + colorPickers.css('transform', 'translateX(0)'); + colorPickers.css('opacity', '1'); + colorPickers.css('pointer-events', 'auto'); // Enable interaction + }, 10); // Small delay to trigger the transition + } + }); + + html.on('click', (event) => { + const colorPickerContainer = html.find('.color-picker-container'); + const colorPickerToggle = html.find('.color-picker-toggle'); + const colorPickers = html.find('.color-pickers'); + + if (!colorPickerContainer.is(event.target) && !colorPickerToggle.is(event.target) && colorPickerContainer.has(event.target).length === 0) { colorPickerContainer.removeClass('active'); - }, 500); // Match the transition duration - } else { - colorPickerContainer.addClass('active'); - setTimeout(() => { - colorPickers.css('transform', 'translateX(0)'); - colorPickers.css('opacity', '1'); - colorPickers.css('pointer-events', 'auto'); // Enable interaction - }, 10); // Small delay to trigger the transition - } - }); + colorPickers.css('transform', 'translateX(-30px)'); + colorPickers.css('opacity', '0'); + colorPickers.css('pointer-events', 'none'); // Disable interaction + } + }); + } } _addTaskToAgenda(event) { diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index 6db3369..99c3250 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -1,8 +1,9 @@ -
    +
    -

    {{system.blasphemyName}}

    + +
    @@ -16,122 +17,232 @@
    {{#each blasphemyPassives}} - {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} +
    + {{> blasphemyPowerPartial this}} +
    {{/each}} +
    + +
    + + + + +
    +
    -
    {{#each blasphemyPowers}} - {{> blasphemyPower this classOptions=["tension", "ardence", "flux", "vector", "gate", "smother", "whisper", "edit", "bind", "jaunt", "palace", "sympathy", "default"]}} +
    + {{> blasphemyPowerPartial this}} +
    {{/each}}
    \ No newline at end of file diff --git a/templates/item/parts/item-blasphemy-power-partial.hbs b/templates/item/parts/item-blasphemy-power-partial.hbs new file mode 100644 index 0000000..9b673ba --- /dev/null +++ b/templates/item/parts/item-blasphemy-power-partial.hbs @@ -0,0 +1,24 @@ +
    +
    +
    +
    + + {{system.powerName}} +
    +
    + + {{#if system.isPassive}}Yes{{else}}No{{/if}} +
    +
    + + {{system.keywords}} +
    +
    + +
    + +
    +

    Description

    +

    {{#formatted system.powerDescription}}{{/formatted}}

    +
    +
    \ No newline at end of file diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index 4ce166b..384cd19 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -1,5 +1,5 @@
    -
    +
    @@ -17,11 +17,11 @@
    -
    +

    Description

    - {{#formatted system.powerDescription}}{{/formatted}} -
    - +

    {{#formatted system.powerDescription}}{{/formatted}}

    + +{{#unless disableColorPickers}}
    + {{/unless}} + +
    + +
    + +
    +

    +
    +
    + + {{! Sheet Body }} +
    +

    Sin Abilities

    + + {{#each sinMarkAbilities}} +
    + {{> sinMarkAbility this powerItem=this developerMode=../developerMode}} +
    + {{/each}} + +
    + + + +
    + +
    + \ No newline at end of file diff --git a/templates/item/item-sinMarkAbility-sheet.hbs b/templates/item/item-sinMarkAbility-sheet.hbs new file mode 100644 index 0000000..0b4747a --- /dev/null +++ b/templates/item/item-sinMarkAbility-sheet.hbs @@ -0,0 +1,141 @@ +
    + + +
    + +
    +

    +
    +
    + + {{! Sheet Body }} +
    +

    Sin Information

    + {{! Editors must receive enriched text data from getData to properly handle rolls }} +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    \ No newline at end of file diff --git a/templates/item/parts/item-sin-mark-partial.hbs b/templates/item/parts/item-sin-mark-partial.hbs new file mode 100644 index 0000000..26a30e9 --- /dev/null +++ b/templates/item/parts/item-sin-mark-partial.hbs @@ -0,0 +1,27 @@ +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    +
    + + \ No newline at end of file From b85327b485e75ea313b16a36b0899f7e05ef00d0 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sun, 1 Sep 2024 18:30:29 +0200 Subject: [PATCH 064/103] UI CHANGE: EYES-PIERCE-THY-SKIN --- assets/sheet/CAIN-eye-0.png | Bin 0 -> 501 bytes assets/sheet/CAIN-eye-1.png | Bin 0 -> 514 bytes assets/sheet/CAIN-eye-2.png | Bin 0 -> 509 bytes assets/sheet/CAIN-eye-3.png | Bin 0 -> 484 bytes assets/sheet/CAIN-eye-4.png | Bin 0 -> 510 bytes assets/sheet/CAIN-eye-5.png | Bin 0 -> 447 bytes assets/sheet/CAIN-eye-6.png | Bin 0 -> 493 bytes assets/sheet/CAIN-eye-closed.png | Bin 0 -> 289 bytes assets/sheet/CAIN-eye-small-0.png | Bin 0 -> 238 bytes assets/sheet/CAIN-eye-small-1.png | Bin 0 -> 237 bytes assets/sheet/CAIN-eye-small-2.png | Bin 0 -> 240 bytes assets/sheet/CAIN-eye-small-3.png | Bin 0 -> 235 bytes assets/sheet/CAIN-eye-small-4.png | Bin 0 -> 235 bytes assets/sheet/CAIN-eye-small-5.png | Bin 0 -> 234 bytes assets/sheet/CAIN-eye-small-6.png | Bin 0 -> 237 bytes assets/sheet/CAIN-eye-small-closed.png | Bin 0 -> 191 bytes css/cain.css | 4 +++ module/cain.mjs | 12 +++++-- module/sheets/actor-sheet.mjs | 38 +++++++++-------------- templates/actor/parts/actor-features.hbs | 2 +- templates/actor/parts/actor-sin.hbs | 5 ++- 21 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 assets/sheet/CAIN-eye-0.png create mode 100644 assets/sheet/CAIN-eye-1.png create mode 100644 assets/sheet/CAIN-eye-2.png create mode 100644 assets/sheet/CAIN-eye-3.png create mode 100644 assets/sheet/CAIN-eye-4.png create mode 100644 assets/sheet/CAIN-eye-5.png create mode 100644 assets/sheet/CAIN-eye-6.png create mode 100644 assets/sheet/CAIN-eye-closed.png create mode 100644 assets/sheet/CAIN-eye-small-0.png create mode 100644 assets/sheet/CAIN-eye-small-1.png create mode 100644 assets/sheet/CAIN-eye-small-2.png create mode 100644 assets/sheet/CAIN-eye-small-3.png create mode 100644 assets/sheet/CAIN-eye-small-4.png create mode 100644 assets/sheet/CAIN-eye-small-5.png create mode 100644 assets/sheet/CAIN-eye-small-6.png create mode 100644 assets/sheet/CAIN-eye-small-closed.png diff --git a/assets/sheet/CAIN-eye-0.png b/assets/sheet/CAIN-eye-0.png new file mode 100644 index 0000000000000000000000000000000000000000..0cca08ff359657dda8ae19a1f88d4bc400c24b84 GIT binary patch literal 501 zcmVPx#Do{*RMF0Q*Qa+ACKIaaqeRL!*lEY(Z>DO2bgls2fa&zZLHqtl)F~e1J1xHZF=Dl zYpnsMPl4XN8T@xlZMGjVQQ`=8mzBuK;g&w$B=_eN#=_jt1kChP@ zNzsIHF=}Zu`3T>mze^+6;Y;t)#8vpJEu+iQGF;T==t$Sbi_$)26;lKrVEOs*Kk%nn z#T3B<^!08UO9P)WD&31bov(WdkI>%K=0|Yca`{z8yB_+Ut!j7uySG=hA-=3hY|)~2 z3NPy&Ozo7R>r#&Q(kq=a^ygLS^~|m!zUj1uiy}H2^#~tcZU=8RLYCZaHHqDPf5CZQ zD(pBKr=Iq_#zUu!TLGe;W+i5g?=I2+!BAzF#wN6o{0FASl2$M2)bHHcl2-V6p-KyR rrc>WY*8iPeugRrc`bM(8rOy2UmvbQa2?h+100000NkvXXu0mjfGcEJq literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-1.png b/assets/sheet/CAIN-eye-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6721a33846b377a1cfea87ca0e2c174e56952a3d GIT binary patch literal 514 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8c>>N)Q#}JRs-YXZUH7oG21UPC5l7>FsbzfaB{OthUN3DmFlTPhxwz0(xFtSU<&U9Nu%_~# zT}CbXx)(#I9;!*}{}4KRapd%+JI&jjbNimD@lL+Q6~56`WscF;$3l7+#W*(|obxp} zsLHMVXNkuT+pU|oD$Xsjax;JX)MIhcIf1-vecN9GZQqpwsx#s~tgX0Sb^9Yvk>R1W z755jclAWA>SHDfB)a0O&@A4<-r|Mpx^G#{p>lfkq#pnHnV@=y1hh3ALTPZl{>4ts6 z9~JNGAANfF`VWbVbEhX9Pq=XM_ooEG#p`5V8HAQ){p-5s+9%JGm23h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8c>~v2T#}JRs-YcGym=$?g9L$&(yWpCSP(gSo`&1iPo+6ES4D>O2jYuHfh=0)Gg)}x1Z*_>Rl^X z`1i=#@AuZlyy&z(*W2y-t26ps<&kcq;`Ad*ic*t}&s_SD*d~9Gck%YNAnlrL*}pcv zSzPzGhQIdvQRyPgCBD^i)|LZBbKM2s+!Z)J=Pa*9*N2M&=OWwnZ5NkIJXo>CKCAw) zr&}|h`JQz>YjsT@Z(GkJCb-qNY{}%zg7kpbclExdnIC#A_JD8It)*;>)z8I>Gsb3j z^pu%Ax>hRKzl+81jqxtwyu}@Ta2}X_PcgR?akS1H$KjI z(*LNyfNirMXN7^e^x7j!g8c<|u5b>yxiYxtM+VD3rr>19!%Cc!@At3Wy5OmFtlj^B xrLB7|FTL+^ZGT^mM?o9vy literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-3.png b/assets/sheet/CAIN-eye-3.png new file mode 100644 index 0000000000000000000000000000000000000000..361cf6e6a06db79685354f220e018c3be8d53d7b GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY(GyI#}JRs-Yb!OEeZlG0g*f!#s5F^?R7L?a7li0#=R-5g8j+KcTR48 zZTIEDysu2l=6rTKFQjm8h5D^0Yt&z}PB(gab<>IIOg5Rh1v?U%ek^<4DqSGJy{O^) zB^UR}y&ts2Y(FmC7M*-{s+vqm@9RfKayz4zIOi-{-);H6CrV|5h1=~9%QM#b?zkg! z&(xJaY8vOQ)wg8+uBy)M%e(bP;iZXa<>fjpq2JPr3O7V83Jl({N8Q{l{Oz(^hF?C| zIh$n2FE5x`yzZ>k8JT(At|7VC0_U?@@-KLsw>)8om9=R5!m?9BdVBm$TpgajIn3OD zQKWE1F!%GNManzm7Of6@c=xjIk#kvxzq0gZPCS3-QS;)7|MzXUbo2N9Ls@G|pRVEy zOm@8-z9moPf8)yp$K~rTet-Ww!|}C#l~w$Ti(cz8FI!Lgdj0X+c{!)nm8-mtt&*vi X_g1{@5Vcnm80HL~u6{1-oD!M3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8c>VAVRKT>P%{$}!MU-{z#TE1IwoNZQ*O$0q+*-@D_2 zCi9K*c0W0=mh*p*)7v1`nDBGfk{1O^)@r{05yj#m&U=0Ft@*}o)nhM!oeq3=Dt+cy_|Gq3vj y$GN$z$Uk(x$F=?Y?A|>Im}NI{jsMHizl?gN5{EADIL!o%4F*qFKbLh*2~7Z>vhkt- literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-5.png b/assets/sheet/CAIN-eye-5.png new file mode 100644 index 0000000000000000000000000000000000000000..417553bca8e9cd91307b67230f0372a3b7a4f204 GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY)wxW#}JRssaK+fniY6h1C*_re#aN^a#l8ae7>rgt|z|b?zYy($>~>X zUp%ex{tpv+P8+yoB!*g!ov+$yYhW= zw%iC({}3Q8G2N-!B!9=nmf5CpJ1kWMzD@VtbGOG*MbGU_jQ^`e)@SA%4!u5API!62 z+StYJGb*k|-CjR^qM5nT#S_`0;VH}bm!F^M_Af!=y4>8$ZvU4rHQQHxrNvH?cip$Y z3;n~b&(B&C@cY#7EoK&TKd(J~xAwMDz}B{Mf4kO*}v_3 k`6i9f^&Zz&m)x!^%#!)?^E5j@FgO`JUHx3vIVCg!0K`MksQ>@~ literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-6.png b/assets/sheet/CAIN-eye-6.png new file mode 100644 index 0000000000000000000000000000000000000000..d3495641d67ba0fa88e733298f6c07aa247da52f GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8c>~K#P#}JRs-YbzsM-+Hi0ygh(34QkOIdAv0X$e9x`r=bTe49) z`|%vB+>HlMd0ac0^m1YGQ|6vMZgZRT_H^FeD9MtP?io~|v+VB{Pws~&-Y(m5=~ZmKYq{1N`A;N?ks({&Aw z+vnJ`cT1E$-^uc7&5N(%Z=0Wp&tS7QnK|!X-L{K-z4awk{}=c*+XP=VpY*l<_V1Z7 gUYCI^-P(Ea#uH@|nXUA?fPv58>FVdQ&MBb@03eR+PXGV_ literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-closed.png b/assets/sheet/CAIN-eye-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..8c88e14477ae8a31b3655ec6b036d05ccbd95a7a GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V6`rrXoSF~pfIc}GDUCl-n^o^Gkw;a6#Z>GFFlXht;KA< TqBQ?E& zFq`Yq_AP?p+Qh1iK8_PtoQqdozP-I?i&xgAe{&vw^AplMXIcI#*S2%3?3Tx??1~vz XHnP<3?K*oBXbXdB=-V^z&Iy;M+C(KwA6(p> z*y6<;@g-dBxWoBS`Q6E>hdi@xJ8s@{sgNt{4~wo_ SgWfx!1q`09elF{r5}E*Ya%MmP literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-small-4.png b/assets/sheet/CAIN-eye-small-4.png new file mode 100644 index 0000000000000000000000000000000000000000..d109b1447b6b2c694c38f5d285941336baed9a15 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jP7LeL$-D$|v;urWT!D0u zU0=QB)fK_7?ClDC(w2m6c*yYZ-+y23|1mdKI;Vst0OAf`OaK4? literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-small-6.png b/assets/sheet/CAIN-eye-small-6.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4cc11fc667cda54564b701573d4682301bfc46 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jP7LeL$-D$|v;urWT!D0u zU0=QB)fK_7?ClDC(w2m6c*yYZ-+y23|1l?zvq_+yNiF!*Qu{%S)Kf6(qUum&gDf> zA6EY}i_j3~on^I>BbIAj+Q*tztl`cFZH1j?$SZb9XR1!zXCwM^NnP#I^E(+-Lz$L~ TsmgTe~DWM4fT^C(A literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-small-closed.png b/assets/sheet/CAIN-eye-small-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..c2dd862f68eebe22689d59904686f043fc6e3a8c GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jP7LeL$-D$|v;urWT!D0u zU0=QB)fK_7?ClDC(w2m6c*yYZ-+y23|1 { - if (checkbox.checked) { - newValue++; - } - }); - - console.log(isChecked); - console.log(newValue); - - this.actor.update({ 'system.sinOverflow.value': newValue }).then(() => { - this.render(false); // Re-render the sheet to reflect changes - }); + let newValue = event.currentTarget.dataset.sin; + console.info(this.actor) + if(this.actor.system.sinOverflow.value == newValue){ + this.actor.update({ 'system.sinOverflow.value': newValue - 1}); + } + else{ + this.actor.update({ 'system.sinOverflow.value': newValue }); + } } _onKitPointsChange(event) { diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 28ddc6c..89935ff 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -97,7 +97,7 @@
    {{#times 7}}
    -
    +
    CAT {{@index}}
    {{lookup sheetConstants.CATSessionNumbers (offset @index -1)}}
    diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index 2cb114c..5999d3b 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -5,7 +5,10 @@
    {{#range 0 system.sinOverflow.max}} - + {{/range}}
    From 1969dd10ebcf0ff9d4cb05011969281e449f9a3f Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sun, 1 Sep 2024 20:14:21 +0200 Subject: [PATCH 065/103] UI TWEAK: The eyes must blink --- .../{CAIN-eye-0.png => CAIN-eye-0-0.png} | Bin assets/sheet/CAIN-eye-0-1.png | Bin 0 -> 471 bytes .../{CAIN-eye-1.png => CAIN-eye-1-0.png} | Bin assets/sheet/CAIN-eye-1-1.png | Bin 0 -> 489 bytes .../{CAIN-eye-2.png => CAIN-eye-2-0.png} | Bin assets/sheet/CAIN-eye-2-1.png | Bin 0 -> 483 bytes .../{CAIN-eye-3.png => CAIN-eye-3-0.png} | Bin assets/sheet/CAIN-eye-3-1.png | Bin 0 -> 446 bytes .../{CAIN-eye-4.png => CAIN-eye-4-0.png} | Bin assets/sheet/CAIN-eye-4-1.png | Bin 0 -> 482 bytes .../{CAIN-eye-5.png => CAIN-eye-5-0.png} | Bin assets/sheet/CAIN-eye-5-1.png | Bin 0 -> 419 bytes .../{CAIN-eye-6.png => CAIN-eye-6-0.png} | Bin assets/sheet/CAIN-eye-6-1.png | Bin 0 -> 477 bytes assets/sheet/CAIN-eye-closed.png | Bin 289 -> 237 bytes assets/sheet/CAIN-eye-old.png | Bin 0 -> 391 bytes assets/sheet/CAIN-eye-small-0.png | Bin 238 -> 238 bytes assets/sheet/CAIN-eye-small-1.png | Bin 237 -> 238 bytes assets/sheet/CAIN-eye-small-2.png | Bin 240 -> 240 bytes assets/sheet/CAIN-eye-small-3.png | Bin 235 -> 235 bytes assets/sheet/CAIN-eye-small-4.png | Bin 235 -> 235 bytes assets/sheet/CAIN-eye-small-5.png | Bin 234 -> 234 bytes assets/sheet/CAIN-eye-small-6.png | Bin 237 -> 237 bytes assets/sheet/CAIN-eye-small-closed.png | Bin 191 -> 191 bytes assets/sheet/CAIN-sin-no.png | Bin 0 -> 289 bytes css/cain.css | 1 + css/eye-anim.css | 83 ++++++++++++++++++ templates/actor/parts/actor-sin.hbs | 14 ++- 28 files changed, 94 insertions(+), 4 deletions(-) rename assets/sheet/{CAIN-eye-0.png => CAIN-eye-0-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-0-1.png rename assets/sheet/{CAIN-eye-1.png => CAIN-eye-1-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-1-1.png rename assets/sheet/{CAIN-eye-2.png => CAIN-eye-2-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-2-1.png rename assets/sheet/{CAIN-eye-3.png => CAIN-eye-3-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-3-1.png rename assets/sheet/{CAIN-eye-4.png => CAIN-eye-4-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-4-1.png rename assets/sheet/{CAIN-eye-5.png => CAIN-eye-5-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-5-1.png rename assets/sheet/{CAIN-eye-6.png => CAIN-eye-6-0.png} (100%) create mode 100644 assets/sheet/CAIN-eye-6-1.png create mode 100644 assets/sheet/CAIN-eye-old.png create mode 100644 assets/sheet/CAIN-sin-no.png create mode 100644 css/eye-anim.css diff --git a/assets/sheet/CAIN-eye-0.png b/assets/sheet/CAIN-eye-0-0.png similarity index 100% rename from assets/sheet/CAIN-eye-0.png rename to assets/sheet/CAIN-eye-0-0.png diff --git a/assets/sheet/CAIN-eye-0-1.png b/assets/sheet/CAIN-eye-0-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a8c3ce79b39518cab5a33f0c1ec842604f2015b GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY)4NQ#}JRs-YXY{jtKCuUN~juy!HS8z1kdt7e8IP`SPZ<_*08-ZO&4^ zi`>h9u4Ls^+>@oAT5(nQ?5*6u_uX}iC$#C$*fGC!^YhAo9nP1FbFaTWId8VlE#9z# z>`AQmGmp%C{i3fmKjvlA{OH0s$)((N^Jcg|HkCPkYu%$&!t#fDGa7}bKYYc!Dv;7pGRV@~bE$yk&SND;st88lS>zR8^uB4*R%-|}Y>73d~QD*t4 zvoiP0mEH28@u{EGPp-{;{Dt?tV;;m<|CrFnv|{~{9Y46f%`v`e7x@EskUpsk9Nv`Fs$9=l;oOw}|D)uWc+@JJyp3h@`wh1yb3xD2;0R}UJr>mdK II;Vst0274T7XSbN literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-1.png b/assets/sheet/CAIN-eye-1-0.png similarity index 100% rename from assets/sheet/CAIN-eye-1.png rename to assets/sheet/CAIN-eye-1-0.png diff --git a/assets/sheet/CAIN-eye-1-1.png b/assets/sheet/CAIN-eye-1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d5cca4bb8668043b6cb2f001db56f18e4f12cc GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8c>|jq9#}JRs-Yd6-jtcOwUT|J{`osVI)lMx6xlcE4PV;Yh_T5@L)qCz~ zVcRFm)2>wiUnM&IUugc8tWuY`&VSuZr#Q##xLvya*o@T$cfa1-CUtGXazC@RYNvOU zcpR~OuJOTiSMrLv`m>UK_P@U^G3(4C?LOc1BL|{)%)K2pLng^f_s_n=9O8?*y*MpX zlYe|-2z_nI+gqFb<5EYem0z%C)Z2?{%KeNLGQsW(DsHlL+Ht|OW?5qSyxsQ} zEqrt;dzZ}Jnl&{otJ^bleB>X#KJO>NK1V(7W7W%L_B@l-_q`RoU0N&gcZHH(RJ`(R zw#dHh>vpTks=nOK_dK#RH~#R?5V;Th*UubD-hR6-%R2MXgH#`>3aMLm30J?*y_UJ{ z(4*vPk$ZoSuGtc_`k3yk*x#)4->iA9R9YU; literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-2.png b/assets/sheet/CAIN-eye-2-0.png similarity index 100% rename from assets/sheet/CAIN-eye-2.png rename to assets/sheet/CAIN-eye-2-0.png diff --git a/assets/sheet/CAIN-eye-2-1.png b/assets/sheet/CAIN-eye-2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..28ca5d6602496806414385b7a7fecd5f3294a368 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY+p|o#}JRs-Yd6-S`|20FZgU}JNf_r-N_1_6_&rQ9G+#n;7H*cS@BOd zr(5qjwLj|O?|sv6Wmf8!x_j=9^{R3`|2;-De(ygWh977AMRT{V7CYjoK7S%~S0vl6-%$NZo73(4Kuq$wpmw|mkD#}cJKHY-e9XET;uQF#13 zaB9I0O_h$Y9p7I5$~e#>$oX4h@4h3BCVT$u%|2$h>VxCeSFT3i*1lV;E)jN7{+JPS zo@i{rwli^mFpq&PnhTeN;da;3+iWxB8P`?dbYcio%({wHJI Xb}7E*4Xr}JAZPG&^>bP0l+XkKHq+?L literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-3.png b/assets/sheet/CAIN-eye-3-0.png similarity index 100% rename from assets/sheet/CAIN-eye-3.png rename to assets/sheet/CAIN-eye-3-0.png diff --git a/assets/sheet/CAIN-eye-3-1.png b/assets/sheet/CAIN-eye-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8ccfc7eede7dc11554690ce2f90ceb0dd513b77a GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cYz&`#X#E^WN0VpYx<>o}={chX$__Jgj#g-&ywN;oWG~>9+z4?q$}@x7p{ZeBChf zcmec=Yw@1gZFo5^>a4=1SWu`_}%X h$*6YPlJ`%{>yxBp`~T@4_X36{gQu&X%Q~loCIHwK&<+3q literal 0 HcmV?d00001 diff --git a/assets/sheet/CAIN-eye-4.png b/assets/sheet/CAIN-eye-4-0.png similarity index 100% rename from assets/sheet/CAIN-eye-4.png rename to assets/sheet/CAIN-eye-4-0.png diff --git a/assets/sheet/CAIN-eye-4-1.png b/assets/sheet/CAIN-eye-4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a255116648085769fd0ba18619be56e2e4f98e GIT binary patch literal 482 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY#&b-#}JRs-YciY4l8i5Tu`VoIsWhe_b`^4NiJfscYWM1RmG+=H$ID* z_d?J9t3$BYdMUS=abMk5w<$|0zczn$%H`OR$LnT)y{BAw{YzZ5;ezk4ww_$Z>MUtr z_@K+U z*fD&3%FeNM^Rs0wM}8_^+~86z;%lvN!{p7yIi?v;-etH?KK9!!^HSWztFy{$roXIy zSbXc^>}k)+O7bTem+_XB-1gKvJZsjP`m%$$nz7S4k9mJre(x)huYcEn&)byaOJt*B z4Axj#U46SkBsXEz+^QXR4QZc_UO#hWuU_*0`A__!cJ_vzx3Njc_&zr~E`QC{Z!b=* z=J!9i>Zh1*;J+sSvTI+}DmDgB_P3TXs)_3DdwAqizlu!M&VT1#EZD#Fm2u=V{&o5y VOm8Pl^ah4FgQu&X%Q~loCIF?Z3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY+g?n#}JRs-Yb!OM-@0&FC>}z@BYtf&tAab@-t)BwqGwXVwUyip}yU2U;n zR&m#Vzu5K7?YfWnzW!_1Dz_`HaO^!dKQ3$T7VAqox2`G9;jdl$c;Wkki}xc!g(PDw zTYb0t=WDI|>B8ZR-94YUqrbZ3?yg(MZuN4rO09bFU&d5538SP<(Vf5`WAJqKb6Mw< G&;$UI3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V8cY; z-aYM|_bFI9%B%8fLTcqz_P0_po$P04evQt`P&QVZ=WmZ2gN+Zv7Uqd)f4VGVff%ui08HJGHjz zM;Sw-_lf33*`j(<+cFqs)~+w(O)u$|oN;f8XMm`FR9IB>YQMPGo?EA`+b5m7M$hy3 z$zC@b%fy0cezB+F$He}gxpqs?!{o}(puyeQyCstkVCj6nr?!9&Y@diy1 V23DCue_{Xt002ovPDHLkV1mnFGEe{j delta 168 zcmV;Z09XI*0ignrfq#ohL_t(YiS5+E3V<*S1JGW!p8Eg4t0?Gbv#tRTg61f1VNO?( zucjR#Xl+4rDOj~Vy7D(YqZxPh@-y5mq+^cpjPDN-HbXk@dE9%s8kNthQF&4g%2TaQ zXB&y-Y4y8x@|NMiA3SfQi7(InRpcMb-3IceakrS95ajeBCn1|~Q`7sE9Tt@6AK3t- Wb0e{m2iAQ600003h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V6`=A);JV~9uR+bO5T4l8i5-tFN0@&A7GkzWp-OJ9G>GfqEexpM5}R%ZEVbd_KNAn+~7Rx;Mf6tL@WB zKI=OlegB1d^L7Y^NX9&!Y~|Hg^yZbs=L554)+z-xSJZ8sYPh;bX^mdyr)PGTzlhG2 zHSzlRimlYk*MG8(#Y<0qy~iKP8h%)TmSHKR$3wW~5fI;Q-0qy~iKP9MB>OVekOlG83u;BpV{{Kx2|Cw(2OUcef?z5D=UIu+1nNPq%8^C@Q~r*zwd$C|7Yg?d_3#_|650{{^yPRug}21 zz*iFF7tHV<8H9V?76Hmcc)B=-NK9ROK9K8x0SEI1za>T)@9OXBEFzT`)cIB#oReG~S@>6yHF9Zaig`-#^e6K&ize;8 e@yu&}F{5Gt^R6F(si{Cq7(8A5T-G@yGywogjaXj* delta 182 zcmaFI_?B^kef^5ySN3)VK50wBHaui_`0u|j_y3uBKOfKf|NqvJtN$4o7?`g+-T+d3 zB|(0{4F8cqxYunFpiH=@i(`ny)V1dWxegd`FkkRn$usNs{BrM1!%ellPd`r#%Y8dt z=9tY1N$qEH3{EA{>^9xsop0R~R6E+~yh^|LSXNj}y_;iLrsz%Hn^#nKrq7y_qQ7nD brROobwV2IUl;-~i+QH!I>gTe~DWM4fDM(kA diff --git a/assets/sheet/CAIN-eye-small-2.png b/assets/sheet/CAIN-eye-small-2.png index 710ad2ba83612237de0ac9284ec60fb678f208cb..8680691225de34755774c1c8fff425efa24f0d82 100644 GIT binary patch delta 78 zcmV-U0I~n@0q_BkKP8h%)TmSHKR$3wW~5fI;Q-OVekOlG83u;BpV{{Kx2|Cw(2OVekOlG83u;BpV{{Kx2|Cw(2AstYrhQQL!}po?JA;XI+dZDFQvn}tv1l@>?_^zDyS@h rxQJ)sNKcx^ck)9FA4RgkDD-(Z8}S3W9YvXf00000NkvXXu0mjfgiuFF delta 137 zcmV;40CxZD0qX&fKP9MB>OVekOlG83u;BpV{{Kx2|Cw(28G*_5c6? delta 78 zcmV-U0I~n-0qOyeKP9MB>OVekOlG83u;BpV{{Kx2|Cw(2jQ{`u07*qoM6N<$f(BwEY5)KL diff --git a/assets/sheet/CAIN-eye-small-6.png b/assets/sheet/CAIN-eye-small-6.png index ff4cc11fc667cda54564b701573d4682301bfc46..86f05da285de072e94034556901049aa521a03c2 100644 GIT binary patch delta 139 zcmV;60CfND0qp^hKP8h%)TmSHKR$3wW~5fI;Q-}7F-Pl t_e=<3euOA)q?JVa@>JxL`t_AQ=K_oA11dhg5?cTO002ovPDHLkV1lvnM>7Bb delta 139 zcmV;60CfND0qp^hKP9MB>OVekOlG83u;BpV{{Kx2|Cw(2HdrVZ4VpTs2we)UX7PNg1y@7C tJrhEhA0dhxX(f@qJQew*eto6Sxd0_q0;d)xnv4Jd002ovPDHLkV1k$#J}CeI diff --git a/assets/sheet/CAIN-eye-small-closed.png b/assets/sheet/CAIN-eye-small-closed.png index c2dd862f68eebe22689d59904686f043fc6e3a8c..a833bd59b27b42aa86a24c152b0c62b4ff17b821 100644 GIT binary patch delta 98 zcmV-o0Gz>%07*qoM6N<$ Eg1!hZ4FCWD delta 98 zcmV-o0GOVekOlG83u;BpV{{Kx2|Cw(2pF diff --git a/assets/sheet/CAIN-sin-no.png b/assets/sheet/CAIN-sin-no.png new file mode 100644 index 0000000000000000000000000000000000000000..8c88e14477ae8a31b3655ec6b036d05ccbd95a7a GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=2xw zef5@CCwpF55&X*DuD~a4N!W&m3=jW(57hoYGw$V6`rrXoSF~p
    {{#range 0 system.sinOverflow.max}} - + {{#if (lt index ../system.sinOverflow.value)}} + + {{else}} + + {{/if}} {{/range}}
    From 289f3e305f2657ea17eda4257d0b404040046e47 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sun, 1 Sep 2024 20:38:42 +0200 Subject: [PATCH 066/103] fixed error with eye sprites --- assets/sheet/CAIN-eye-1-0.png | Bin 514 -> 516 bytes assets/sheet/CAIN-eye-1-1.png | Bin 489 -> 488 bytes assets/sheet/CAIN-eye-2-0.png | Bin 509 -> 506 bytes assets/sheet/CAIN-eye-2-1.png | Bin 483 -> 481 bytes assets/sheet/CAIN-eye-5-0.png | Bin 447 -> 444 bytes assets/sheet/CAIN-eye-5-1.png | Bin 419 -> 417 bytes assets/sheet/CAIN-eye-old.png | Bin 391 -> 381 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/sheet/CAIN-eye-1-0.png b/assets/sheet/CAIN-eye-1-0.png index 6721a33846b377a1cfea87ca0e2c174e56952a3d..8031bc0fa70101658ec862077bd746777ee35d5c 100644 GIT binary patch delta 397 zcmV;80doF=1cU^Tfq!mEL_t(YiH+3Twu2xH1W>uuAPfKhcMlK+98e0i*A2t@Ur4( z6O5jg?wfXQYCFc&wxK5un(-~Ob2y~KWJy2IGsd|YIAn{CEq^*g_}NCnAEU2a$_PKt z3&NL{=o(%M^O-%uS8a}FU6$tF91gWPnwvD7)mFHQEh6FhsvMqDuVRZt+2D0$^^}yJ z(Q!VVEc~9@+1ikvbvi~j?d3?+D_0KTw)WDaPsZ?G1Zoe>3%(WaT5p>|l#3B>#rpwKMwW8Cz@XQ*>}@i8_YQ9GnzdC~0;4PI9K zY=Y6#(tXp;O>M`x+BWpWK{LK(b`FPhm@Mhnb%iiD1BYzUp?^gagkNnW{4qLHDI@&4 zGK4QJ(N&egd}fdERhy$(m!-KkheK_S<|Yl3+6q^(MI@Xu_2UvQ(H04^!JPF|QhG** z`E*G5J+-s7A)RzOMmO!{NTYJj5N>NPJ^B!a_aabxXkPHGc-MN{@eFb?!mW7UpsF2{ zXWcJ`9Cb9oB7aS%dJ@gd(Y#pT`C z_!!ZhmteGqU=gFP9O^Jtc542L)6b1`Yk<zq3>w@t5Yn{Hk8wUb4g!3wS& zl5k216h22cjJ5JfOHAqKc{*1oGwFgO>qHnihx@T@L&;aXZ+{Ly&#Q+k(Wnp;uh|qn zJwU@f-(6GR6h1ZLg^t5ivNmh9OT^=a9QxD`HQE8s3TGKD7=T8hiEEF@8R>$UNH?g4ZPs_(p`HPE)9IyBfjbKFxpX7oV7iAb{%AjjLodU z_P*OKsW`VCN@=*9$^-t19X_d6?P zOP$LTJ>;im)O-J`6_@^1Z?tN4M4dzZMm3Z}T)5kHx5k*OaNYIZwi?!ur%pDlCd;^V zNW?kkDDXA9W2l`knqy4A@7oxf%%UrfO=rZwTezLuR+t=ON`Ec83vnlPA9I5!-cr82zXsE?QqBn+92qYu7%i zc6#*PZ%M?ZZE9b``BWb857*4ZW4GIWYCCD-;AKo2cpBP1VAc1X)@ioF;$wRh-u=a_ zv{I|aE$UtS1)uD!>n3=yQzxI69nyYUigxzI;v=z#wynQ2%JjD+eI}v)>sKB*Z5yDl P00000NkvXXu0mjfSem-c diff --git a/assets/sheet/CAIN-eye-2-0.png b/assets/sheet/CAIN-eye-2-0.png index fb4be4195bfdec84b6b383accdc02552e544d3ca..33cb873123a41d14f3620dc1d06bec7f6ace75cf 100644 GIT binary patch delta 386 zcmV-|0e$}c1NsAyfq!I4L_t(YiH+3Bf&w871W+~!hvxr(cgO-H0mshC!?P?F3E{=W zkIY;5Lp%3fUm&#BF8Y)RX}mt@lBYH{rZEOvy>TvMa&jKDj+&P3b#!!i+vRUXF4l3S zZF1Kg{qW8h?Gx3pY53Zy=m&bvNKBB1glxRvW(bjNW00v(fRW{S6l#jXK@% zx-!1D)`DSQ87iV`yX?#-19)dh+ua6#vw`ur1+;^vHnimQ#I@TZs9Q@}(2gby-4=@)U>p`*3i9M` zHd&2XmtHb)RfnmuQo*!c|4^fqywj!MNYTH3-tNgu gx%C?<`YjFN51_6dq)GL0EdT%j07*qoM6N<$g2DN}Qvd(} delta 389 zcmV;00eb%W1N{S#fq!R7L_t(YiH+1rk^>%$m@wca?UF)XT%~Q8j~~3((qx1AAiveqql}qD|~Am{X9)- z3g5L?>rVK2L=y@ZwKjkb!j*3Pzd-D@o_y7&8Ecf-t@kU4ec79>vEyjukK%AJ2D45H zcrZ5`t;D2LPZ7DOLsZ$RQ;hg%1pWe3V?o0r36tNCt+k-#8(lvCP^E>u)1}`?*1vvU j@5xKK^&83hEp_e>7WW?nsD-4$00000NkvXXu0mjfyClD% diff --git a/assets/sheet/CAIN-eye-2-1.png b/assets/sheet/CAIN-eye-2-1.png index 28ca5d6602496806414385b7a7fecd5f3294a368..bcbb8c6a80d5e89d576a64e8c7a30166cd2272b9 100644 GIT binary patch delta 361 zcmV-v0ha#b1K|UZfqzR$L_t(YiH+1r62u?~1<)8#T*UidwVcAWrUp7T!r%O>1K8enRpMM9nrf@TWjv8eAJgO27 zH-!Yz3b#Jp7!8;)B4Hn+*OxenhL^v0%{WFCKB-#0NWs3>WAp;UF8ae*XTa^ED=wC~ z{n>5Ro?iyb%n-JZ-d{0SK~pg7kuYk(aa=m(kM-)QIl5tIHQsHE>c;|?vJ-`O8mIW; zHBZES37^2BnJ9bH?A#&BYJNW!75>+g&z{a=bclkfQfX`mU&x0`Qo00000NkvXX Hu0mjfGAywY delta 363 zcmV-x0hIpX1LFgbfqzX&L_t(YiH+3T5``cL1<*{ihROf`-IE}Rcscsi!5wn@e* z;fUL4!DDVT;}|2RR5i%W7%e!)Pv?&k9@?@g8XKL9lJG%vB7gims5OO~0d&+LH28Egb@k*7`?v4K{UMly=%rXs_;S8>P0g4t?r{I7*^3A#xetL6ddm}iEtef0K!2UPfhCrSSF!{2YQ`Za9*L5(E z`kcCrcJ6OIfw`12(NQ97<8`1cqc#@qZ!)`}1wZdM&&?ixD3x(t73|*^lNllY2+VTUxSzy|vNnc>4J+EXn zCf#|~o~W^`lRfkO_E?LW{?Nm#4;3tGN#0P>qea@#o_!{}-o4(Q$)OZ|BD+4N*YyKO WogCs6SqBOL0000oUP~NS8jrMn_)A zT1=YxZ9P$EML?gy^V{PsYWhJpZyr=gaK&R&zOzqa>xvM5!rNY<-# Z+kSCs9Q66i2M+)M002ovPDHLkV1k~fp+f)w diff --git a/assets/sheet/CAIN-eye-5-1.png b/assets/sheet/CAIN-eye-5-1.png index 8133d83d2966057de3dceafe291f580a4c738e01..96617ca9e3def76e700feac5852957454960f45f 100644 GIT binary patch delta 297 zcmV+^0oMMb1EB+ufqx50L_t(YiH+3R4#Xe`1<=82)c^nCaRC=Vl!r;vIk~~5{C;l* zq1L;6(NkXaLQ_hnhE*n03)(b1ruJWpx>6BaC_G9%toQz_+zl<;hG{){>O^S7IcLVT zMK0S*esUhY9~=6?nci{rjnmFB%`tKe4}04pns^VtMk8?x45Ss#ZQqg9d31L0&_Q^0{5IYHr+Ip|bnavPn|4{` vrH9$}JWA8DDCCMEPi%_T&b&<$3N3 zLaBRsqlY}|iN+XB4YQ1<7PM-(Ol?<-x?DeOA@iTq-Fole!d=(0Z5Y;*r%r@MoKj+3 zTjaF8#?Eloaq%8Upegz(;Oqm@UXTmqKUWgV>I#_9)DJ?MI%QIT69W^hF$ck z3xD^~iuOj=Oc%b7*4BBqA*ex(&YxatowPgBEZWu~oDY4iFZM%N12RiAqBz-4y{Q+er7&2nATZsSw002ovPDHLkV1izDlE44} diff --git a/assets/sheet/CAIN-eye-old.png b/assets/sheet/CAIN-eye-old.png index c9119c4a95ae7bb5a7e012b277654a8c53cacf4d..ad3e6d077d0d24fb0e3864b944f5744a6dfe7246 100644 GIT binary patch delta 260 zcmV+f0sH=k1N{P!fq&;oL_t(YiS5)u62l+}1<-5+Bi{eKMG_Si9lCDW<_+^B;&uIM zfs~UXMlM7^hmEZ=k=wG)CqLSU=N*T*6l=79*T7OH?=jNNmChWr9lW7y>s!^H!-^YU z^xIluKnO5|!I`VpLF(ANw+J%AWi(OEh@g1W~(S+*sod_MM!z!DxM0Gz+f_->|)y zOG?Hkeo)hx;Y0000< KMNUMnLSTXqjDK_h delta 271 zcmV+q0r39)0*3>Tfq(HyL_t(YiS3lj7Q-M21>J}V`2XKq#QH#qrR(-?GiS~WFj}qbUyK#t$2RI;o8DO)I!cam?CKcvz?&ScB2t5RezBD?tAC6ltS)Kt=04N(6`dV4 zO7ZFjbxKW7lPoytLoRf{A(tNx`UmPi*mugF{5qY!uO_@NO5e|YWA~Mv?&NYC4E5on zS@3@0J8WOf@{tGQf(4hMyWmnLD;!TS<0LyWv&W~F-Y_~?;rT`OvbB)^wf`r)0H}Z* Vu;mLD@Bjb+00>D%PDHLkV1f{rhdKZN From 9bb1b4cc62cde13ed77584eeb60ffa3a2f95dcd3 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Sun, 1 Sep 2024 14:09:28 -0500 Subject: [PATCH 067/103] Removed fixed height from blasphemies --- templates/item/item-blasphemy-sheet.hbs | 1 - templates/item/parts/item-blasphemy-power-sheet.hbs | 1 - 2 files changed, 2 deletions(-) diff --git a/templates/item/item-blasphemy-sheet.hbs b/templates/item/item-blasphemy-sheet.hbs index bbc4969..921b1bb 100644 --- a/templates/item/item-blasphemy-sheet.hbs +++ b/templates/item/item-blasphemy-sheet.hbs @@ -112,7 +112,6 @@ } .main-blasphemy .sheet-body { - height: 600px; overflow-y: auto; background-color: #333; padding: 15px; diff --git a/templates/item/parts/item-blasphemy-power-sheet.hbs b/templates/item/parts/item-blasphemy-power-sheet.hbs index 7ec0091..c9292bc 100644 --- a/templates/item/parts/item-blasphemy-power-sheet.hbs +++ b/templates/item/parts/item-blasphemy-power-sheet.hbs @@ -184,7 +184,6 @@ flex-grow: 1; overflow-y: auto; width: 100%; - max-height: 600px; text-align: center; /* Center text in the sheet body */ } From ebfe24c15f7483e816c4516cba285989dccde0c3 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Sun, 1 Sep 2024 21:19:55 +0200 Subject: [PATCH 068/103] UI CHANGES: moved some stuff in the SIN section --- lang/en.json | 8 +++++++- templates/actor/parts/actor-sin.hbs | 21 +++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/lang/en.json b/lang/en.json index 8bc4a18..06de933 100644 --- a/lang/en.json +++ b/lang/en.json @@ -56,9 +56,15 @@ }, "SHEET": { + "SIN": { + "ROLLSIN": "Roll SIN (1D3)", + "ROLLRESIST": "Resist Roll (1D6 + SIN MARKS)", + "ADJUSTMAX": "Adjust maximum" + }, "TOOLTIPS": { "SURVIVED": "Missions Survived", - "CATSELECT": "Right click to set CAT 0" + "CATSELECT": "Right click to set CAT 0", + "SINMAXADJUST": "Change maximum SIN capacity" } } } diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index 3131b5a..52a6c0f 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -1,8 +1,6 @@

    Sin Overflow

    - -
    {{#range 0 system.sinOverflow.max}} {{#if (lt index ../system.sinOverflow.value)}} @@ -17,20 +15,23 @@ {{/if}} {{/range}}
    -
    -
    From 85214b747025bc35386c91140857f38f4471c398 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Sun, 1 Sep 2024 20:09:17 -0400 Subject: [PATCH 069/103] Assests and character edited to accomodate the random item --- assets/sin-marks/arm.png | Bin 0 -> 24658 bytes assets/sin-marks/back.png | Bin 0 -> 33742 bytes assets/sin-marks/chest.png | Bin 0 -> 34965 bytes assets/sin-marks/eye.png | Bin 0 -> 38204 bytes assets/sin-marks/hair.png | Bin 0 -> 38178 bytes assets/sin-marks/hand.png | Bin 0 -> 36339 bytes assets/sin-marks/jaw.png | Bin 0 -> 41863 bytes assets/sin-marks/leg.png | Bin 0 -> 29438 bytes assets/sin-marks/skin.png | Bin 0 -> 41764 bytes module/data/actor-character.mjs | 3 + module/sheets/actor-sheet.mjs | 211 +++++++++++++++++++++++++------- 11 files changed, 172 insertions(+), 42 deletions(-) create mode 100644 assets/sin-marks/arm.png create mode 100644 assets/sin-marks/back.png create mode 100644 assets/sin-marks/chest.png create mode 100644 assets/sin-marks/eye.png create mode 100644 assets/sin-marks/hair.png create mode 100644 assets/sin-marks/hand.png create mode 100644 assets/sin-marks/jaw.png create mode 100644 assets/sin-marks/leg.png create mode 100644 assets/sin-marks/skin.png diff --git a/assets/sin-marks/arm.png b/assets/sin-marks/arm.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a020397e1896695c960a0df27c0b72f8567c52 GIT binary patch literal 24658 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 literal 0 HcmV?d00001 diff --git a/assets/sin-marks/back.png b/assets/sin-marks/back.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a1ea1ee0f1082196c5890c226e844f341a10f4 GIT binary patch literal 33742 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 literal 0 HcmV?d00001 diff --git a/assets/sin-marks/eye.png b/assets/sin-marks/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfd0a3276cd469077af2f9e1d8bce86ca01267a GIT binary patch literal 38204 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Ǻo}EAV+~-=u(8?wx6mk=U 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 literal 0 HcmV?d00001 diff --git a/assets/sin-marks/skin.png b/assets/sin-marks/skin.png new file mode 100644 index 0000000000000000000000000000000000000000..93fe59b6a5bb15f4ba1aae4f8751aa5e7094f609 GIT binary patch literal 41764 zcmYg%c|4R~`1UhnFm^+-GqyyDl6{-9FCl9rWEryWYcxXE?Av5l$u4UlnM#Rd zYnEhR-ZS6d=l#9!U;2D{o@dTE_jcXaeVsT%eN8%Q4r&O3=(M%ej35XO{t1VW6yVQx z(BJ|11M@Y~ybjg$aVU%}XEe6W+;@7C#+!_9)= z0^dLQz+c3_dA__k2?B;NxZo@42JT)rb;-kO{2ecZ4#GXc!jdC7?f)B@{Q8#1BAbHC@1v^=mhO)SGH zd)@0^qBYfQ@w>=*=;|XJCG_~()Ymwz8awQaOv6&mb8%?2qHwy+JP9KY7aWmjsPs*e zWhc}u3AC09NN~V;pu|Trv&rXzAL82;C}X>bZkM1_9>rVqgd!9=xCFmeK=xjR=*9yb z^uCsbHwnzbFl&svq3|>t$p#sP7h?mNf`uxK`Ak{XM}MN9+r=Nkv-1JEfTS zQ@#iv6k5*pGt4mS^dhQEnxg1ChE=o3jPz-i=@SNhpF5HXV(Skm2=vFAAC&wMTPQ6e zesd8Z+TrF`OHqO56kZ=NXm1(rh z@lT)=RM-AB0{zQ_o*kC<<;hqwvqTU%ZiRW<>LcoWH2Cs!+rN?LfYns7I}u3H7i5O7 zz;W4bAXAQ-@a+=tPEF{|gAH3bsEH38j(b17lWkgw3`_65f=PsJ^pB#s0(tlVc-|{tuMRtM#;hWkXL-ND?z}^t$AO2*2|h#j!GAN$o+kU}6<}ru zAVrby;*YElT9?vpu{WH1+5i8Ci!IAuAj2?P>#g=yR9~_yYNF*w=$#s5# z(bz6m+ygF_@+jR^h@TOuKe%vlr*!KzK1{^>b4}S&wGEy1C4`rad18Pmixnu3KOn

    <}z_ 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 literal 0 HcmV?d00001 diff --git a/module/data/actor-character.mjs b/module/data/actor-character.mjs index 55eb518..8bb77ca 100644 --- a/module/data/actor-character.mjs +++ b/module/data/actor-character.mjs @@ -116,6 +116,9 @@ export default class CainCharacter extends CainActorBase { schema.currentBlasphemies = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); schema.currentBlasphemyPowers = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.sinMarks = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + schema.sinMarkAbilities = new fields.ArrayField(new fields.StringField(), { required: true, initial: [] }); + return schema; } diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 2f7f47b..6eda97d 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -99,7 +99,9 @@ export class CainActorSheet extends ActorSheet { context.currentAgendaAbilities = this._getItemsFromIDs(context.system.currentAgendaAbilities || []); context.currentBlasphemies = this._getItemsFromIDs(context.system.currentBlasphemies || []); context.currentBlasphemyPowers = this._getItemsFromIDs(context.system.currentBlasphemyPowers || []); - + context.currentSinMarks = this._getItemsFromIDs(context.system.sinMarks || []); + context.currentSinMarkAbilities = this._getItemsFromIDs(context.system.sinMarkAbilities || []); + // Calculate currentUnlinkedBlasphemyPowers context.currentUnlinkedBlasphemyPowers = this._getItemsFromIDs( (context.system.currentBlasphemyPowers || []).filter(blasphemyPowerID => { @@ -332,9 +334,28 @@ export class CainActorSheet extends ActorSheet { this._onDropBlasphemyPower(event, itemDrop); break; default: + ui.notifications.error("Invalid drop type on ability page: " + itemDrop.type); console.warn("Invalid drop type on ability page: " + itemDrop.type); } }); + + html.find('.sin-page-drop-target').on('drop', async event => { + event.preventDefault(); + const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); + const itemDrop = await Item.fromDropData(data); + switch(itemDrop.type) { + case "sinMark": + this._onDropSinMark(event, itemDrop); + break; + case "sinMarkAbility": + this._onDropSinMarkAbility(event, itemDrop); + break; + default: + ui.notifications.error("Invalid drop type on sin page: " + itemDrop.type); + console.warn("Invalid drop type on sin page: " + itemDrop.type); + } + }); + html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); // Bind the send to chat functions html.find('.agenda-task-to-chat').click(this._sendAgendaTaskMessage.bind(this)); @@ -637,6 +658,71 @@ export class CainActorSheet extends ActorSheet { }); } + _onDropSinMark(event, sinMark) { + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + const sinMarkList = this.actor.system.sinMarks || []; + console.log("Current Sin Marks:", sinMarkList); + + // Check if the sin mark is already in the list + if (sinMarkList.includes(sinMark.id)) { + console.log("Sin mark already exists:", sinMark.id); + return; + } + + // Add the new sin mark to the list + sinMarkList.push(sinMark.id); + console.log("Updated Sin Marks:", sinMarkList); + + // Get the current list of sin mark abilities + const sinMarkAbilitiesList = this.actor.system.sinMarkAbilities || []; + console.log("Current Sin Mark Abilities:", sinMarkAbilitiesList); + + // Get the new sin mark abilities that are passive + const newSinMarkAbilities = this._getItemsFromIDs(sinMark.system.abilities || []) + .filter(ability => { + console.log("Inspecting ability:", ability); + if (!ability || !ability.system) { + console.error("Ability or ability system is undefined:", ability); + ui.notifications.error("Some abilities are undefined. Did you import the compendium to keep document IDs?"); + return false; + } + const isPassive = ability.system.isPassive; + console.log("Is ability passive?", isPassive); + return isPassive; + }) + .map(ability => { + console.log("Mapping ability to ID:", ability.id); + return ability.id; + }); + + console.log("New Sin Mark Abilities:", newSinMarkAbilities); + + // Combine the current and new sin mark abilities + const newSinMarkAbilitiesList = sinMarkAbilitiesList.concat(newSinMarkAbilities); + console.log("Updated Sin Mark Abilities:", newSinMarkAbilitiesList); + + // Update the actor with the new lists + this.actor.update({ + 'system.sinMarks': sinMarkList, + 'system.sinMarkAbilities': newSinMarkAbilitiesList + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); + } + ); + } + + + _addAgendaAbility(event) { event.preventDefault(); const abilityID = event.currentTarget.parentElement.querySelector('#selectedAgenda').value; @@ -1208,73 +1294,114 @@ export class CainActorSheet extends ActorSheet { async _rollSinMark(event) { event.preventDefault(); - - // Manually roll 1d6 for the mark - const roll = await new Roll('1d6').roll({async: true}); - let markRoll = roll.total; - let markIndex = markRoll - 1; - - console.log(markRoll); - console.log(markIndex); - // If rolled a 6, allow the user to choose the mark - if (markRoll === 6) { - markIndex = await this._chooseMark(); + // Get all Sin Mark items + const sinMarkItems = game.items.filter(item => item.type === 'sinMark'); + if (sinMarkItems.length === 0) { + ui.notifications.warn("No Sin Mark items found."); + return; + } + + // Roll 1d6 to determine if the user can choose a Sin Mark + const initialRoll = await new Roll('1d6').roll({async: true}); + let selectedSinMark; + + if (initialRoll.total === 6) { + // Allow the user to choose a Sin Mark + const chosenIndex = await this._chooseMark(); + selectedSinMark = sinMarkItems[chosenIndex]; + } else { + // Randomly choose a Sin Mark + const sinMarkRoll = await new Roll(`1d${sinMarkItems.length}`).roll({async: true}); + selectedSinMark = sinMarkItems[sinMarkRoll.total - 1]; + } + + console.log(selectedSinMark); + + // Get abilities of the selected Sin Mark + const abilities = selectedSinMark.system.abilities || []; + if (abilities.length === 0) { + ui.notifications.warn("Selected Sin Mark has no abilities."); + return; } - const sinMarks = this.actor.system.currentSinMarks || []; - const sinMark = CAIN.sinMarks[markIndex]; + // Get current Sin Marks and Sin Mark Abilities + const currentSinMarks = this.actor.system.sinMarks || []; + const currentSinMarkAbilities = this.actor.system.sinMarkAbilities || []; - // Check if the mark already exists - const existingMark = sinMarks.find(mark => mark.startsWith(sinMark.name)); - if (existingMark) { - // Manually roll 1d6 for the ability - let newAbility; + // Check if the Sin Mark is already in the list + const existingMarkIndex = currentSinMarks.indexOf(selectedSinMark.id); + let selectedAbility; + + if (existingMarkIndex !== -1) { + // Sin Mark is already in the list, proceed to select an ability + const maxAttempts = 10; + let attempts = 0; do { - const abilityRoll = await new Roll('1d6').roll({async: true}); - newAbility = sinMark.abilities[abilityRoll.total - 1]; - } while (existingMark.includes(newAbility)); + const abilityRoll = await new Roll(`1d${abilities.length}`).roll({async: true}); + selectedAbility = abilities[abilityRoll.total - 1]; + attempts++; + } while (currentSinMarkAbilities.includes(selectedAbility) && attempts < maxAttempts); + + if (attempts >= maxAttempts) { + ui.notifications.warn("Unable to select a unique ability after multiple attempts."); + return; + } - // Add the new ability to the existing mark - sinMarks[sinMarks.indexOf(existingMark)] += `, ${newAbility}`; + currentSinMarkAbilities.push(selectedAbility); } else { - // Manually roll 1d6 for the ability - const abilityRoll = await new Roll('1d6').roll({async: true}); - const newAbility = sinMark.abilities[abilityRoll.total - 1]; - console.log(sinMark); + // Sin Mark is not in the list, add it and select an ability + currentSinMarks.push(selectedSinMark.id); - // Format the sinMark as "Name - Ability" - const formattedSinMark = `${sinMark.name} - ${newAbility}`; + const abilityRoll = await new Roll(`1d${abilities.length}`).roll({async: true}); + selectedAbility = abilities[abilityRoll.total - 1]; - // Add the new mark to the sinMarks array - sinMarks.push(formattedSinMark); + currentSinMarkAbilities.push(selectedAbility); } - // Update the actor with the new sinMarks array - await this.actor.update({ 'system.currentSinMarks': sinMarks }); + // Update the actor with the new Sin Marks and Sin Mark Abilities + await this.actor.update({ + 'system.sinMarks': currentSinMarks, + 'system.sinMarkAbilities': currentSinMarkAbilities + }); + + console.log(this.actor); + ui.notifications.info(`Rolled Sin Mark: ${selectedSinMark.name} with ability: ${selectedAbility}`); + this.render(false); // Re-render the sheet to reflect changes } - + async _deleteSinMark(event) { event.preventDefault(); const index = event.currentTarget.dataset.index; - const sinMarks = this.actor.system.currentSinMarks || []; + const sinMarks = this.actor.system.sinMarks || []; + const sinMarkAbilities = this.actor.system.sinMarkAbilities || []; + + // Remove the selected Sin Mark and its abilities sinMarks.splice(index, 1); - this.actor.update({ 'system.currentSinMarks': sinMarks }).then(() => { - this.render(false); // Re-render the sheet to reflect changes + sinMarkAbilities.splice(index, 1); + + await this.actor.update({ + 'system.sinMarks': sinMarks, + 'system.sinMarkAbilities': sinMarkAbilities }); + + this.render(false); // Re-render the sheet to reflect changes } - + async _clearSinMarks(event) { event.preventDefault(); - this.actor.update({ 'system.currentSinMarks': [] }).then(() => { - this.render(false); // Re-render the sheet to reflect changes + await this.actor.update({ + 'system.sinMarks': [], + 'system.sinMarkAbilities': [] }); + + this.render(false); // Re-render the sheet to reflect changes } async _chooseMark() { return new Promise((resolve) => { - const options = CAIN.sinMarks.map((mark, index) => ``).join(''); + const options = game.items.filter(item => item.type === 'sinMark').map((mark, index) => ``).join(''); const content = `

    From 06f436a785bde758e4aa8964e36c1945ce1dcf92 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Sun, 1 Sep 2024 23:44:57 -0400 Subject: [PATCH 070/103] Added in packs for new systems for sin marks. Sin marks are now items. --- css/cain.css | 151 ++++++++++++------ module/sheets/actor-sheet.mjs | 75 ++++++++- packs/agenda/{000067.log => 000089.log} | 0 packs/agenda/CURRENT | 2 +- packs/agenda/LOG | 3 + packs/agenda/LOG.old | 18 ++- packs/agenda/MANIFEST-000082 | Bin 187 -> 0 bytes .../{MANIFEST-000066 => MANIFEST-000088} | Bin 187 -> 187 bytes .../{agenda/000083.log => agenda2/000093.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 +- packs/agenda2/LOG.old | 18 ++- packs/agenda2/MANIFEST-000037 | Bin 191 -> 0 bytes .../{MANIFEST-000086 => MANIFEST-000092} | Bin 191 -> 191 bytes packs/blasphemy/{000023.ldb => 000090.ldb} | Bin .../000038.log => blasphemy/000092.log} | 0 packs/blasphemy/CURRENT | 3 +- packs/blasphemy/LOG | 3 + packs/blasphemy/LOG.old | 20 +-- packs/blasphemy/MANIFEST-000091 | Bin 0 -> 157 bytes packs/blasphemy/{ => lost}/000067.log | 0 packs/blasphemy/{ => lost}/000083.log | 0 packs/blasphemy/{ => lost}/MANIFEST-000066 | Bin packs/blasphemy/{ => lost}/MANIFEST-000082 | Bin packs/blasphemy2/000064.ldb | Bin 52669 -> 0 bytes packs/blasphemy2/000088.log | Bin 108467 -> 0 bytes packs/blasphemy2/000095.ldb | Bin 0 -> 53864 bytes .../000087.log => blasphemy2/000097.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 6 +- packs/blasphemy2/LOG.old | 33 +++- packs/blasphemy2/MANIFEST-000038 | Bin 191 -> 0 bytes packs/blasphemy2/MANIFEST-000087 | Bin 191 -> 0 bytes packs/blasphemy2/MANIFEST-000096 | Bin 0 -> 191 bytes packs/items/{000024.ldb => 000091.ldb} | Bin .../000039.log => items/000093.log} | 0 packs/items/CURRENT | 3 +- packs/items/LOG | 3 + packs/items/LOG.old | 19 ++- packs/items/MANIFEST-000092 | Bin 0 -> 156 bytes packs/items/{ => lost}/000068.log | 0 packs/items/{ => lost}/000084.log | 0 packs/items/{ => lost}/MANIFEST-000067 | Bin packs/items/{ => lost}/MANIFEST-000083 | Bin packs/sin-marks/000007.log | Bin 0 -> 33175 bytes packs/sin-marks/CURRENT | 1 + packs/{tables/000067.log => sin-marks/LOCK} | 0 packs/sin-marks/LOG | 3 + packs/sin-marks/LOG.old | 5 + packs/sin-marks/MANIFEST-000006 | Bin 0 -> 50 bytes packs/tables/{000083.log => 000089.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 4 +- packs/tables/LOG.old | 18 ++- packs/tables/MANIFEST-000082 | Bin 267 -> 0 bytes .../{MANIFEST-000066 => MANIFEST-000088} | Bin 267 -> 267 bytes system.json | 7 + templates/actor/parts/actor-sin.hbs | 25 ++- 58 files changed, 306 insertions(+), 126 deletions(-) rename packs/agenda/{000067.log => 000089.log} (100%) delete mode 100644 packs/agenda/MANIFEST-000082 rename packs/agenda/{MANIFEST-000066 => MANIFEST-000088} (68%) rename packs/{agenda/000083.log => agenda2/000093.log} (100%) delete mode 100644 packs/agenda2/MANIFEST-000037 rename packs/agenda2/{MANIFEST-000086 => MANIFEST-000092} (67%) rename packs/blasphemy/{000023.ldb => 000090.ldb} (100%) rename packs/{agenda2/000038.log => blasphemy/000092.log} (100%) create mode 100644 packs/blasphemy/MANIFEST-000091 rename packs/blasphemy/{ => lost}/000067.log (100%) rename packs/blasphemy/{ => lost}/000083.log (100%) rename packs/blasphemy/{ => lost}/MANIFEST-000066 (100%) rename packs/blasphemy/{ => lost}/MANIFEST-000082 (100%) delete mode 100644 packs/blasphemy2/000064.ldb delete mode 100644 packs/blasphemy2/000088.log create mode 100644 packs/blasphemy2/000095.ldb rename packs/{agenda2/000087.log => blasphemy2/000097.log} (100%) delete mode 100644 packs/blasphemy2/MANIFEST-000038 delete mode 100644 packs/blasphemy2/MANIFEST-000087 create mode 100644 packs/blasphemy2/MANIFEST-000096 rename packs/items/{000024.ldb => 000091.ldb} (100%) rename packs/{blasphemy2/000039.log => items/000093.log} (100%) create mode 100644 packs/items/MANIFEST-000092 rename packs/items/{ => lost}/000068.log (100%) rename packs/items/{ => lost}/000084.log (100%) rename packs/items/{ => lost}/MANIFEST-000067 (100%) rename packs/items/{ => lost}/MANIFEST-000083 (100%) create mode 100644 packs/sin-marks/000007.log create mode 100644 packs/sin-marks/CURRENT rename packs/{tables/000067.log => sin-marks/LOCK} (100%) create mode 100644 packs/sin-marks/LOG create mode 100644 packs/sin-marks/LOG.old create mode 100644 packs/sin-marks/MANIFEST-000006 rename packs/tables/{000083.log => 000089.log} (100%) delete mode 100644 packs/tables/MANIFEST-000082 rename packs/tables/{MANIFEST-000066 => MANIFEST-000088} (71%) diff --git a/css/cain.css b/css/cain.css index f7d2320..84417ab 100644 --- a/css/cain.css +++ b/css/cain.css @@ -3,6 +3,7 @@ @import url('https://fonts.googleapis.com/css2?family=UnifrakturMaguntia&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Lacquer&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Tiny5&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&display=swap'); @import url('./eye-anim.css'); /* @@ -1107,18 +1108,25 @@ /* sin-marks.css */ +/* sin-marks.css */ + .sin-marks { - background-color: #2b2b2b; - border: 1px solid #444; - padding: 20px; - border-radius: 8px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); + background-color: #1a1a1a; + border: 2px solid #660066; + padding: 30px; + border-radius: 12px; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); + font-family: 'Courier-New', serif; + color: #e0b3ff; + transition: transform 0.3s, box-shadow 0.3s; } .sin-marks h3 { - color: #ff6666; - font-family: 'Courier New', Courier, monospace; - text-shadow: 2px 2px 4px #000; + color: #cc33ff; + font-family: 'Courier-New', serif; + text-shadow: 3px 3px 6px #000; + font-size: 2em; + margin-bottom: 20px; } .sin-marks ul { @@ -1127,107 +1135,148 @@ } .sin-marks li { - background-color: #333; - border: 1px solid #555; - padding: 10px; - margin: 5px 0; - border-radius: 4px; - transition: background-color 0.3s; + background-color: #2b2b2b; + border: 2px solid #660066; + padding: 15px; + margin: 10px 0; + border-radius: 8px; + transition: transform 0.3s, box-shadow 0.3s; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } .sin-marks li:hover { - background-color: #444; + box-shadow: 0 0 20px rgba(128, 0, 128, 0.8); +} + +.sin-marks li:active { + background-color: #1a1a1a; + transform: scale(0.95); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); } .button-row { display: flex; justify-content: space-between; - margin-top: 10px; + margin-top: 20px; } .sin-marks button { - background-color: #ff6666; + background-color: #cc33ff; color: #fff; - border: none; - padding: 10px 20px; + border: 2px solid #660066; + padding: 12px 24px; margin: 5px; - border-radius: 4px; + border-radius: 8px; cursor: pointer; - transition: background-color 0.3s; + font-family: 'Courier-New', serif; + transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } .sin-marks button:hover { - background-color: #ff3333; + background-color: #b300b3; + transform: scale(1.1); + box-shadow: 0 0 20px rgba(128, 0, 128, 0.8); } .sin-marks button:active { - background-color: #cc0000; + background-color: #990099; + transform: scale(0.95); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); } .no-sin-marks { - color: #e0e0e0; - background-color: #333; - padding: 10px; - border-radius: 4px; - margin: 10px 0; - font-style: italic; -} -.sin-overflow { + color: #e0b3ff; background-color: #2b2b2b; - border: 1px solid #444; - padding: 20px; + padding: 15px; border-radius: 8px; + margin: 20px 0; + font-style: italic; + border: 2px solid #660066; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); - margin-bottom: 10px; + transition: transform 0.3s, box-shadow 0.3s; +} + +.no-sin-marks:hover { + transform: scale(1.05); + box-shadow: 0 0 20px rgba(128, 0, 128, 0.8); +} + +.sin-overflow { + background-color: #1a1a1a; + border: 2px solid #660066; + padding: 30px; + border-radius: 12px; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); + font-family: 'Courier-New', serif; + color: #e0b3ff; + transition: transform 0.3s, box-shadow 0.3s; + margin-bottom: 20px; } .sin-overflow h3 { - color: #ff6666; - font-family: 'Courier New', Courier, monospace; - text-shadow: 2px 2px 4px #000; + color: #cc33ff; + font-family: 'Courier-New', serif; + text-shadow: 3px 3px 6px #000; + font-size: 2em; + margin-bottom: 20px; } .sin-overflow-controls { display: flex; flex-direction: column; - gap: 10px; + gap: 15px; } .sin-overflow-controls label { - color: #e0e0e0; + color: #e0b3ff; + font-family: 'Courier-New', serif; } .sin-overflow-controls input { + background-color: #2b2b2b; + color: #e0b3ff; + border: 2px solid #660066; + padding: 10px; + border-radius: 8px; + font-family: 'Courier-New', serif; + transition: background-color 0.3s, box-shadow 0.3s; +} + +.sin-overflow-controls input:hover { background-color: #333; - color: #fff; - border: 1px solid #555; - padding: 5px; - border-radius: 4px; + box-shadow: 0 0 10px rgba(128, 0, 128, 0.8); } .sin-overflow-buttons { display: flex; justify-content: space-between; - margin-top: 10px; + margin-top: 20px; } .sin-overflow-buttons button { - background-color: #ff6666; + background-color: #cc33ff; color: #fff; - border: none; - padding: 10px 20px; + border: 2px solid #660066; + padding: 12px 24px; margin: 5px; - border-radius: 4px; + border-radius: 8px; cursor: pointer; - transition: background-color 0.3s; + font-family: 'Courier-New', serif; + transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } .sin-overflow-buttons button:hover { - background-color: #ff3333; + background-color: #b300b3; + transform: scale(1.1); + box-shadow: 0 0 20px rgba(128, 0, 128, 0.8); } .sin-overflow-buttons button:active { - background-color: #cc0000; + background-color: #990099; + transform: scale(0.95); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); } /* Media query for responsive design */ diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 6eda97d..ea4bba8 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -110,7 +110,28 @@ export class CainActorSheet extends ActorSheet { }).reduce((a, b) => a && b, true); }) ); - + + context.currentSinMarkData = (context.currentSinMarks || []).map(sinMark => { + const sinMarkAbilities = sinMark.system.abilities || []; + const currentSinMarkAbilities = (context.currentSinMarkAbilities || []).map(item => item.id); + + console.log("CURRENT SIN MARK ABILITIES:", currentSinMarkAbilities); + console.log("CONTEXT SIN MARK ABILITIES:", sinMarkAbilities); + + const abilities = this._getItemsFromIDs(sinMarkAbilities.filter(abilityID => currentSinMarkAbilities.includes(abilityID))); + + console.log("Sin Mark Abilities:", abilities); + return { + sinMark: sinMark, + abilities: abilities.map(ability => ({ + name: ability.system.abilityName, + description: ability.system.abilityDescription, + bodyPart: ability.system.bodyPartName, + formula: ability.system.formula + })) + }; + }); + // Prepare blasphemy data context.blasphemyData = (context.currentBlasphemies || []).map(blasphemy => { const blasphemyPowers = blasphemy.system.powers || []; @@ -136,12 +157,14 @@ export class CainActorSheet extends ActorSheet { } else { context.currentAgendaAvailableAbilities = []; } + } _getItemsFromIDs(ids) { return ids.map(id => game.items.get(id)); } + _prepareItems(context) { const gear = []; @@ -721,7 +744,47 @@ export class CainActorSheet extends ActorSheet { ); } - + _onDropSinMarkAbility(event, sinMarkAbility) { + // Ensure this.actor and this.actor.system are defined + if (!this.actor || !this.actor.system) { + console.error("Actor or actor system is undefined."); + ui.notifications.error("Actor or actor system is undefined. Please check your setup."); + return; + } + console.log("Actor and actor system are defined."); + + // Ensure sinMarkAbility and sinMarkAbility.system are defined + if (!sinMarkAbility || !sinMarkAbility.system) { + console.error("Sin mark ability or sin mark ability system is undefined."); + ui.notifications.error("Sin mark ability or sin mark ability system is undefined. Please check your setup."); + return; + } + + console.log("Sin mark ability and sin mark ability system are defined."); + + const sinMarkAbilitiesList = this.actor.system.sinMarkAbilities || []; + console.log("Current Sin Mark Abilities List:", sinMarkAbilitiesList); + + // Check if the sin mark ability is already in the list + if (sinMarkAbilitiesList.includes(sinMarkAbility.id)) { + console.log("Sin mark ability already exists:", sinMarkAbility.id); + return; + } + + // Add the new sin mark ability to the list + sinMarkAbilitiesList.push(sinMarkAbility.id); + console.log("Updated Sin Mark Abilities List:", sinMarkAbilitiesList); + + // Update the actor with the new list + this.actor.update({ + 'system.sinMarkAbilities': sinMarkAbilitiesList + }).then(() => { + console.log("Actor updated successfully."); + }).catch(err => { + console.error("Error updating actor:", err); + ui.notifications.error("Error updating actor. Please check the console for more details."); + }); + } _addAgendaAbility(event) { event.preventDefault(); @@ -1303,7 +1366,7 @@ export class CainActorSheet extends ActorSheet { } // Roll 1d6 to determine if the user can choose a Sin Mark - const initialRoll = await new Roll('1d6').roll({async: true}); + const initialRoll = await new Roll('1d6').roll(); let selectedSinMark; if (initialRoll.total === 6) { @@ -1312,7 +1375,7 @@ export class CainActorSheet extends ActorSheet { selectedSinMark = sinMarkItems[chosenIndex]; } else { // Randomly choose a Sin Mark - const sinMarkRoll = await new Roll(`1d${sinMarkItems.length}`).roll({async: true}); + const sinMarkRoll = await new Roll(`1d${sinMarkItems.length}`).roll(); selectedSinMark = sinMarkItems[sinMarkRoll.total - 1]; } @@ -1360,11 +1423,13 @@ export class CainActorSheet extends ActorSheet { } // Update the actor with the new Sin Marks and Sin Mark Abilities + + await this.actor.update({ 'system.sinMarks': currentSinMarks, 'system.sinMarkAbilities': currentSinMarkAbilities }); - + console.log(this.actor); ui.notifications.info(`Rolled Sin Mark: ${selectedSinMark.name} with ability: ${selectedAbility}`); diff --git a/packs/agenda/000067.log b/packs/agenda/000089.log similarity index 100% rename from packs/agenda/000067.log rename to packs/agenda/000089.log diff --git a/packs/agenda/CURRENT b/packs/agenda/CURRENT index d4b9a0f..948a0b6 100644 --- a/packs/agenda/CURRENT +++ b/packs/agenda/CURRENT @@ -1 +1 @@ -MANIFEST-000082 +MANIFEST-000088 diff --git a/packs/agenda/LOG b/packs/agenda/LOG index e69de29..479d964 100644 --- a/packs/agenda/LOG +++ b/packs/agenda/LOG @@ -0,0 +1,3 @@ +2024/09/01-23:43:53.684262 ffff827cf120 Recovering log #86 +2024/09/01-23:43:53.776441 ffff827cf120 Delete type=0 #86 +2024/09/01-23:43:53.776788 ffff827cf120 Delete type=3 #84 diff --git a/packs/agenda/LOG.old b/packs/agenda/LOG.old index 6cba229..0323ed4 100644 --- a/packs/agenda/LOG.old +++ b/packs/agenda/LOG.old @@ -1,8 +1,10 @@ -2024/08/29-18:03:28.031 8ed8 Recovering log #76 -2024/08/29-18:03:28.037 8ed8 Delete type=0 #76 -2024/08/29-18:03:28.037 8ed8 Delete type=3 #74 -2024/08/29-21:29:41.248 4784 Level-0 table #81: started -2024/08/29-21:29:41.249 4784 Level-0 table #81: 0 bytes OK -2024/08/29-21:29:41.250 4784 Delete type=0 #79 -2024/08/29-21:29:41.257 4784 Manual compaction at level-0 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) -2024/08/29-21:29:41.257 4784 Manual compaction at level-1 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) +2024/09/01-23:43:21.919007 ffff81fbf120 Recovering log #83 +2024/09/01-23:43:22.057961 ffff81fbf120 Delete type=0 #83 +2024/09/01-23:43:22.058202 ffff81fbf120 Delete type=0 #67 +2024/09/01-23:43:22.058338 ffff81fbf120 Delete type=3 #82 +2024/09/01-23:43:22.058560 ffff81fbf120 Delete type=3 #66 +2024/09/01-23:43:45.921058 ffff7bfff120 Level-0 table #87: started +2024/09/01-23:43:45.921227 ffff7bfff120 Level-0 table #87: 0 bytes OK +2024/09/01-23:43:45.970124 ffff7bfff120 Delete type=0 #85 +2024/09/01-23:43:46.069060 ffff7bfff120 Manual compaction at level-0 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) +2024/09/01-23:43:46.221962 ffff7bfff120 Manual compaction at level-1 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) diff --git a/packs/agenda/MANIFEST-000082 b/packs/agenda/MANIFEST-000082 deleted file mode 100644 index a3a9e0875b7397a19935d182e8143fb0b212cdb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmdn<$?4Tn21Z7yoYb<^oRlOzr^=Gl^338?=ltA)#G=HK{32EcdBx0<)ZAjl(%d|M zw+z?7beAf3qtrw_sSaPIyVt68>K12~r Z9>W@_A>TFCpKvfRG6i!oFo&?10RZ8^GbsQ7 diff --git a/packs/agenda/MANIFEST-000066 b/packs/agenda/MANIFEST-000088 similarity index 68% rename from packs/agenda/MANIFEST-000066 rename to packs/agenda/MANIFEST-000088 index a928d085a54b3acab99d0f6e574380f959aa8418..2db4d1d6085381e9d3a97f513cf11964f7472d3d 100644 GIT binary patch delta 22 dcmdnZxSMgp8vexHoHiT`j7*W749rn1W&lkD1t|ak delta 22 ecmdnZxSMgp8vY{}8$NL`FfuuFGBCTam;nG`yauBH diff --git a/packs/agenda/000083.log b/packs/agenda2/000093.log similarity index 100% rename from packs/agenda/000083.log rename to packs/agenda2/000093.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index a43fb19..5b83d76 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000086 +MANIFEST-000092 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index f373f60..99f123c 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +1,3 @@ -2024/08/31-15:17:17.833 79fc Recovering log #84 -2024/08/31-15:17:17.839 79fc Delete type=0 #84 -2024/08/31-15:17:17.839 79fc Delete type=3 #82 +2024/09/01-23:43:53.791634 ffff81fbf120 Recovering log #90 +2024/09/01-23:43:53.908452 ffff81fbf120 Delete type=0 #90 +2024/09/01-23:43:53.908807 ffff81fbf120 Delete type=3 #88 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index 81b92c1..904a853 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,8 +1,10 @@ -2024/08/31-15:17:15.182 2458 Recovering log #80 -2024/08/31-15:17:15.187 2458 Delete type=0 #80 -2024/08/31-15:17:15.187 2458 Delete type=3 #78 -2024/08/31-15:17:16.149 7b74 Level-0 table #85: started -2024/08/31-15:17:16.150 7b74 Level-0 table #85: 0 bytes OK -2024/08/31-15:17:16.152 7b74 Delete type=0 #83 -2024/08/31-15:17:16.152 7b74 Manual compaction at level-0 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) -2024/08/31-15:17:16.152 7b74 Manual compaction at level-1 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/09/01-23:43:22.070504 ffff817af120 Recovering log #87 +2024/09/01-23:43:22.173103 ffff817af120 Delete type=3 #37 +2024/09/01-23:43:22.173508 ffff817af120 Delete type=3 #86 +2024/09/01-23:43:22.173767 ffff817af120 Delete type=0 #87 +2024/09/01-23:43:22.173952 ffff817af120 Delete type=0 #38 +2024/09/01-23:43:45.970604 ffff7bfff120 Level-0 table #91: started +2024/09/01-23:43:45.970865 ffff7bfff120 Level-0 table #91: 0 bytes OK +2024/09/01-23:43:46.000926 ffff7bfff120 Delete type=0 #89 +2024/09/01-23:43:46.069234 ffff7bfff120 Manual compaction at level-0 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/09/01-23:43:46.222061 ffff7bfff120 Manual compaction at level-1 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) diff --git a/packs/agenda2/MANIFEST-000037 b/packs/agenda2/MANIFEST-000037 deleted file mode 100644 index 00295fe15878e9fe1065c67bb95dc104fabdb344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmexp@J4L~10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei18!ykcfaYHqP&Rg_ym zqEl#aP;t3`X0E3>LpTE%urlIO!I%Y6!Oo=g_BNxUVp@JqN@`KDqO*@{xpAaNZh3N) ge|SJzE@Ko#9U*h_`|?h3GB7f!aWXKgvs`5a0L 52016 bytes +2024/09/01-23:43:46.220555 ffff7bfff120 compacted to: files[ 0 1 0 0 0 0 0 ] +2024/09/01-23:43:46.221445 ffff7bfff120 Delete type=2 #23 +2024/09/01-23:43:46.222245 ffff7bfff120 Manual compaction at level-0 from '!items!yotw9uAVluGmTHO4' @ 183 : 1 .. '!items!yotw9uAVluGmTHO4' @ 0 : 0; will stop at (end) diff --git a/packs/blasphemy/MANIFEST-000091 b/packs/blasphemy/MANIFEST-000091 new file mode 100644 index 0000000000000000000000000000000000000000..a0ff275150ab6de9fc9a7880d81345c6abca4d85 GIT binary patch literal 157 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 diff --git a/packs/blasphemy2/000088.log b/packs/blasphemy2/000088.log deleted file mode 100644 index b4323b72123e63a84d14652965a9d86a0568ca85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108467 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 diff --git a/packs/blasphemy2/000095.ldb b/packs/blasphemy2/000095.ldb new file mode 100644 index 0000000000000000000000000000000000000000..f5e720a3978699c78cc3f6e69314e9cc31462c0f GIT binary patch literal 53864 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 literal 0 HcmV?d00001 diff --git a/packs/agenda2/000087.log b/packs/blasphemy2/000097.log similarity index 100% rename from packs/agenda2/000087.log rename to packs/blasphemy2/000097.log diff --git a/packs/blasphemy2/CURRENT b/packs/blasphemy2/CURRENT index d05b681..6274e55 100644 --- a/packs/blasphemy2/CURRENT +++ b/packs/blasphemy2/CURRENT @@ -1 +1 @@ -MANIFEST-000087 +MANIFEST-000096 diff --git a/packs/blasphemy2/LOG b/packs/blasphemy2/LOG index 35871f8..9fd4eac 100644 --- a/packs/blasphemy2/LOG +++ b/packs/blasphemy2/LOG @@ -1,3 +1,3 @@ -2024/08/31-15:17:17.851 2458 Recovering log #85 -2024/08/31-15:17:17.857 2458 Delete type=0 #85 -2024/08/31-15:17:17.857 2458 Delete type=3 #83 +2024/09/01-23:43:54.053632 ffff817af120 Recovering log #92 +2024/09/01-23:43:54.163074 ffff817af120 Delete type=0 #92 +2024/09/01-23:43:54.163419 ffff817af120 Delete type=3 #89 diff --git a/packs/blasphemy2/LOG.old b/packs/blasphemy2/LOG.old index e5ae92f..a8dfb09 100644 --- a/packs/blasphemy2/LOG.old +++ b/packs/blasphemy2/LOG.old @@ -1,8 +1,25 @@ -2024/08/31-15:17:15.200 79fc Recovering log #81 -2024/08/31-15:17:15.206 79fc Delete type=0 #81 -2024/08/31-15:17:15.206 79fc Delete type=3 #79 -2024/08/31-15:17:16.161 7b74 Level-0 table #86: started -2024/08/31-15:17:16.161 7b74 Level-0 table #86: 0 bytes OK -2024/08/31-15:17:16.163 7b74 Delete type=0 #84 -2024/08/31-15:17:16.163 7b74 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) -2024/08/31-15:17:16.163 7b74 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/09/01-23:43:22.388549 ffff80f9f120 Recovering log #88 +2024/09/01-23:43:22.390124 ffff80f9f120 Level-0 table #90: started +2024/09/01-23:43:22.445851 ffff80f9f120 Level-0 table #90: 55290 bytes OK +2024/09/01-23:43:22.536982 ffff80f9f120 Delete type=0 #88 +2024/09/01-23:43:22.537443 ffff80f9f120 Delete type=0 #39 +2024/09/01-23:43:22.537591 ffff80f9f120 Delete type=3 #38 +2024/09/01-23:43:22.537760 ffff80f9f120 Delete type=3 #87 +2024/09/01-23:43:46.348519 ffff7bfff120 Level-0 table #93: started +2024/09/01-23:43:46.348743 ffff7bfff120 Level-0 table #93: 0 bytes OK +2024/09/01-23:43:46.374472 ffff7bfff120 Delete type=0 #91 +2024/09/01-23:43:46.374914 ffff7bfff120 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 474 : 0 +2024/09/01-23:43:46.374949 ffff7bfff120 Compacting 1@0 + 0@1 files +2024/09/01-23:43:46.411753 ffff7bfff120 Generated table #94@0: 109 keys, 53864 bytes +2024/09/01-23:43:46.411904 ffff7bfff120 Compacted 1@0 + 0@1 files => 53864 bytes +2024/09/01-23:43:46.440030 ffff7bfff120 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/09/01-23:43:46.441081 ffff7bfff120 Delete type=2 #90 +2024/09/01-23:43:46.484755 ffff7bfff120 Manual compaction at level-0 from '!items!ziiFc860EZanavt1' @ 474 : 0 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/09/01-23:43:46.562495 ffff7bfff120 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 540 : 1 +2024/09/01-23:43:46.562618 ffff7bfff120 Compacting 1@1 + 1@2 files +2024/09/01-23:43:46.620029 ffff7bfff120 Generated table #95@1: 109 keys, 53864 bytes +2024/09/01-23:43:46.620156 ffff7bfff120 Compacted 1@1 + 1@2 files => 53864 bytes +2024/09/01-23:43:46.646871 ffff7bfff120 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/09/01-23:43:46.647786 ffff7bfff120 Delete type=2 #94 +2024/09/01-23:43:46.648415 ffff7bfff120 Delete type=2 #64 +2024/09/01-23:43:46.686989 ffff7bfff120 Manual compaction at level-1 from '!items!ziiFc860EZanavt1' @ 540 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) diff --git a/packs/blasphemy2/MANIFEST-000038 b/packs/blasphemy2/MANIFEST-000038 deleted file mode 100644 index 4e1b1ecd0a3c2fabda7a0e5a47e7c177781c29f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmb>5SM0Nbfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?Dl^k9 z*}}}gH7YSLv8=?9v5^4`SQ!baU}sW3_J>JPF)cqQCAFwn(IBY8(7?FN($XiyE#EgJ cfN?p*BtqtxpW5Wi$-u~@&dI>6!LpnY0D!$TaR2}S diff --git a/packs/blasphemy2/MANIFEST-000087 b/packs/blasphemy2/MANIFEST-000087 deleted file mode 100644 index ca89af694f34f14dc4884887a648dc0c06c512c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmbPlIs4oS21Z7yoYb<^oRlOzr^=Gl^338?=ltA)#G=HK{32EcdBx0<)ZAjls?1Ec zWD7F`*Qmt2#Ih1YhW`v;z{-eA1)~QeSOq(i!`|7+9f(PU%;~%CX2i+B$dt&*z?{T#f&~C~mo%LK literal 0 HcmV?d00001 diff --git a/packs/items/000024.ldb b/packs/items/000091.ldb similarity index 100% rename from packs/items/000024.ldb rename to packs/items/000091.ldb diff --git a/packs/blasphemy2/000039.log b/packs/items/000093.log similarity index 100% rename from packs/blasphemy2/000039.log rename to packs/items/000093.log diff --git a/packs/items/CURRENT b/packs/items/CURRENT index 90f7d12..5b83d76 100644 --- a/packs/items/CURRENT +++ b/packs/items/CURRENT @@ -1,2 +1 @@ -MANIFEST-000083 - +MANIFEST-000092 diff --git a/packs/items/LOG b/packs/items/LOG index e69de29..9c149d0 100644 --- a/packs/items/LOG +++ b/packs/items/LOG @@ -0,0 +1,3 @@ +2024/09/01-23:43:53.536016 ffff817af120 Recovering log #89 +2024/09/01-23:43:53.667588 ffff817af120 Delete type=0 #89 +2024/09/01-23:43:53.668088 ffff817af120 Delete type=3 #87 diff --git a/packs/items/LOG.old b/packs/items/LOG.old index 119dd30..c43312e 100644 --- a/packs/items/LOG.old +++ b/packs/items/LOG.old @@ -1,8 +1,11 @@ -2024/08/29-18:03:28.023 33d4 Recovering log #77 -2024/08/29-18:03:28.028 33d4 Delete type=0 #77 -2024/08/29-18:03:28.028 33d4 Delete type=3 #75 -2024/08/29-21:29:41.255 4784 Level-0 table #82: started -2024/08/29-21:29:41.255 4784 Level-0 table #82: 0 bytes OK -2024/08/29-21:29:41.257 4784 Delete type=0 #80 -2024/08/29-21:29:41.257 4784 Manual compaction at level-0 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) -2024/08/29-21:29:41.257 4784 Manual compaction at level-1 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) +2024/09/01-23:43:21.905253 ffff827cf120 Delete type=3 #1 +2024/09/01-23:43:46.001418 ffff7bfff120 Level-0 table #90: started +2024/09/01-23:43:46.001669 ffff7bfff120 Level-0 table #90: 0 bytes OK +2024/09/01-23:43:46.032252 ffff7bfff120 Delete type=0 #88 +2024/09/01-23:43:46.069383 ffff7bfff120 Manual compaction at level-0 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at '!items!zUOSvdFDFvXZqROE' @ 136 : 1 +2024/09/01-23:43:46.069463 ffff7bfff120 Compacting 1@0 + 0@1 files +2024/09/01-23:43:46.102026 ffff7bfff120 Generated table #91@0: 48 keys, 13709 bytes +2024/09/01-23:43:46.102169 ffff7bfff120 Compacted 1@0 + 0@1 files => 13709 bytes +2024/09/01-23:43:46.128410 ffff7bfff120 compacted to: files[ 0 1 0 0 0 0 0 ] +2024/09/01-23:43:46.129578 ffff7bfff120 Delete type=2 #24 +2024/09/01-23:43:46.222150 ffff7bfff120 Manual compaction at level-0 from '!items!zUOSvdFDFvXZqROE' @ 136 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) diff --git a/packs/items/MANIFEST-000092 b/packs/items/MANIFEST-000092 new file mode 100644 index 0000000000000000000000000000000000000000..710876eba7dad665e8b47e1f9ecb92848820b1eb GIT binary patch literal 156 zcmYdU6uPvPfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?D%3x? zEXB>mtt=v{Fv#DPv4a5&*cqdHvlSK7@^eyBi;5LpA`=ZOopUUm{nGpsGd%qmlOW0n W8N**$Cc(+T$P~-Tz#PXife`@7pDQN- literal 0 HcmV?d00001 diff --git a/packs/items/000068.log b/packs/items/lost/000068.log similarity index 100% rename from packs/items/000068.log rename to packs/items/lost/000068.log diff --git a/packs/items/000084.log b/packs/items/lost/000084.log similarity index 100% rename from packs/items/000084.log rename to packs/items/lost/000084.log diff --git a/packs/items/MANIFEST-000067 b/packs/items/lost/MANIFEST-000067 similarity index 100% rename from packs/items/MANIFEST-000067 rename to packs/items/lost/MANIFEST-000067 diff --git a/packs/items/MANIFEST-000083 b/packs/items/lost/MANIFEST-000083 similarity index 100% rename from packs/items/MANIFEST-000083 rename to packs/items/lost/MANIFEST-000083 diff --git a/packs/sin-marks/000007.log b/packs/sin-marks/000007.log new file mode 100644 index 0000000000000000000000000000000000000000..799ddea9495d1f5b23eb093ffbddc9e0b12d225f GIT binary patch literal 33175 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 +

    Sin Overflow

    @@ -35,12 +35,21 @@
    -
    +

    Sin Marks

    - {{#if system.currentSinMarks.length}} + {{#if currentSinMarkData.length}}
      - {{#each system.currentSinMarks}} -
    • {{this}}
    • + {{#each currentSinMarkData}} +
    • + {{this.sinMark.name}} +
        + {{#each this.abilities}} +
      • + {{this.name}}: {{this.description}} ({{this.bodyPart}}) +
      • + {{/each}} +
      +
    • {{/each}}
    {{else}} @@ -53,4 +62,8 @@
    -
    \ No newline at end of file +
    + + \ No newline at end of file From 9de191704891157334781c8c87c082aee9a2e116 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Mon, 2 Sep 2024 00:16:31 -0400 Subject: [PATCH 071/103] Fixed css class. fixed empty style --- templates/actor/parts/actor-sin.hbs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index 2c4897a..f585a7a 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -1,4 +1,4 @@ -
    From 2af316d606c548f916c57bed8956503a96ef14b9 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 18:25:53 -0500 Subject: [PATCH 097/103] Renamed offset to CainOffset to avoid naming conflict with universal battlemap importer --- module/cain.mjs | 2 +- templates/actor/parts/actor-sin.hbs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/module/cain.mjs b/module/cain.mjs index 835bf39..bd42fd7 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -326,7 +326,7 @@ Handlebars.registerHelper('json', function(context) { return JSON.stringify(context); }); -Handlebars.registerHelper('offset', function(value, offset, options) { +Handlebars.registerHelper('CainOffset', function(value, offset, options) { if(value===undefined || offset===undefined || parseInt(value)===NaN || !parseInt(offset) === NaN){ throw new Error(`offset helper did not receive a number: val=${value}, offset=${offset}`); } diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index bd7de83..1576df1 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -5,13 +5,13 @@ {{#range 0 system.sinOverflow.max}} {{#if (lt index ../system.sinOverflow.value)}} + class="sinOverflow-icon sinOverflow-icon-anim sin-icon-anim-{{mod (CainOffset index ../sheetConstants.SINVisualOffset) 7}}" + data-sin="{{CainOffset index 1}}"/> {{else}} + data-sin="{{CainOffset index 1}}"/> {{/if}} {{/range}}
    +

    Sin Overflow

    @@ -62,8 +62,4 @@
    -
    - - \ No newline at end of file +
    \ No newline at end of file From 6162d1d1ee50fcf7155ff6d225e6614d501d8a89 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Mon, 2 Sep 2024 08:01:11 -0400 Subject: [PATCH 072/103] Re-imported Binaries for sin Marks --- packs/agenda/{000089.log => 000091.log} | 0 packs/agenda/CURRENT | 2 +- packs/agenda/LOG | 6 ++-- packs/agenda/LOG.old | 13 ++------ .../{MANIFEST-000088 => MANIFEST-000090} | Bin 187 -> 187 bytes packs/agenda2/{000093.log => 000095.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 ++-- packs/agenda2/LOG.old | 13 ++------ .../{MANIFEST-000092 => MANIFEST-000094} | Bin 191 -> 191 bytes packs/blasphemy/{000092.log => 000094.log} | 0 packs/blasphemy/CURRENT | 2 +- packs/blasphemy/LOG | 6 ++-- packs/blasphemy/LOG.old | 14 ++------- .../{MANIFEST-000091 => MANIFEST-000093} | Bin 157 -> 157 bytes packs/blasphemy2/{000097.log => 000099.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 6 ++-- packs/blasphemy2/LOG.old | 28 ++---------------- .../{MANIFEST-000096 => MANIFEST-000098} | Bin 191 -> 191 bytes packs/items/{000093.log => 000095.log} | 0 packs/items/CURRENT | 2 +- packs/items/LOG | 6 ++-- packs/items/LOG.old | 14 ++------- .../{MANIFEST-000092 => MANIFEST-000094} | Bin 156 -> 156 bytes packs/sin-marks/000007.log | Bin 33175 -> 0 bytes packs/sin-marks/000009.ldb | Bin 0 -> 12333 bytes packs/sin-marks/000010.log | Bin 0 -> 31634 bytes packs/sin-marks/CURRENT | 2 +- packs/sin-marks/LOG | 8 +++-- packs/sin-marks/LOG.old | 8 ++--- packs/sin-marks/MANIFEST-000006 | Bin 50 -> 0 bytes packs/sin-marks/MANIFEST-000008 | Bin 0 -> 121 bytes packs/tables/{000089.log => 000091.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 6 ++-- packs/tables/LOG.old | 13 ++------ .../{MANIFEST-000088 => MANIFEST-000090} | Bin 267 -> 267 bytes 38 files changed, 51 insertions(+), 110 deletions(-) rename packs/agenda/{000089.log => 000091.log} (100%) rename packs/agenda/{MANIFEST-000088 => MANIFEST-000090} (68%) rename packs/agenda2/{000093.log => 000095.log} (100%) rename packs/agenda2/{MANIFEST-000092 => MANIFEST-000094} (67%) rename packs/blasphemy/{000092.log => 000094.log} (100%) rename packs/blasphemy/{MANIFEST-000091 => MANIFEST-000093} (81%) rename packs/blasphemy2/{000097.log => 000099.log} (100%) rename packs/blasphemy2/{MANIFEST-000096 => MANIFEST-000098} (67%) rename packs/items/{000093.log => 000095.log} (100%) rename packs/items/{MANIFEST-000092 => MANIFEST-000094} (82%) delete mode 100644 packs/sin-marks/000007.log create mode 100644 packs/sin-marks/000009.ldb create mode 100644 packs/sin-marks/000010.log delete mode 100644 packs/sin-marks/MANIFEST-000006 create mode 100644 packs/sin-marks/MANIFEST-000008 rename packs/tables/{000089.log => 000091.log} (100%) rename packs/tables/{MANIFEST-000088 => MANIFEST-000090} (71%) diff --git a/packs/agenda/000089.log b/packs/agenda/000091.log similarity index 100% rename from packs/agenda/000089.log rename to packs/agenda/000091.log diff --git a/packs/agenda/CURRENT b/packs/agenda/CURRENT index 948a0b6..2f2c868 100644 --- a/packs/agenda/CURRENT +++ b/packs/agenda/CURRENT @@ -1 +1 @@ -MANIFEST-000088 +MANIFEST-000090 diff --git a/packs/agenda/LOG b/packs/agenda/LOG index 479d964..ea167fa 100644 --- a/packs/agenda/LOG +++ b/packs/agenda/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:53.684262 ffff827cf120 Recovering log #86 -2024/09/01-23:43:53.776441 ffff827cf120 Delete type=0 #86 -2024/09/01-23:43:53.776788 ffff827cf120 Delete type=3 #84 +2024/09/02-07:59:23.859733 ffffadfbf120 Recovering log #89 +2024/09/02-07:59:23.890052 ffffadfbf120 Delete type=0 #89 +2024/09/02-07:59:23.890356 ffffadfbf120 Delete type=3 #88 diff --git a/packs/agenda/LOG.old b/packs/agenda/LOG.old index 0323ed4..479d964 100644 --- a/packs/agenda/LOG.old +++ b/packs/agenda/LOG.old @@ -1,10 +1,3 @@ -2024/09/01-23:43:21.919007 ffff81fbf120 Recovering log #83 -2024/09/01-23:43:22.057961 ffff81fbf120 Delete type=0 #83 -2024/09/01-23:43:22.058202 ffff81fbf120 Delete type=0 #67 -2024/09/01-23:43:22.058338 ffff81fbf120 Delete type=3 #82 -2024/09/01-23:43:22.058560 ffff81fbf120 Delete type=3 #66 -2024/09/01-23:43:45.921058 ffff7bfff120 Level-0 table #87: started -2024/09/01-23:43:45.921227 ffff7bfff120 Level-0 table #87: 0 bytes OK -2024/09/01-23:43:45.970124 ffff7bfff120 Delete type=0 #85 -2024/09/01-23:43:46.069060 ffff7bfff120 Manual compaction at level-0 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) -2024/09/01-23:43:46.221962 ffff7bfff120 Manual compaction at level-1 from '!items!1PnBSz1PZVcYKaWa' @ 72057594037927935 : 1 .. '!items!umnOFhEQgDzG2eaF' @ 0 : 0; will stop at (end) +2024/09/01-23:43:53.684262 ffff827cf120 Recovering log #86 +2024/09/01-23:43:53.776441 ffff827cf120 Delete type=0 #86 +2024/09/01-23:43:53.776788 ffff827cf120 Delete type=3 #84 diff --git a/packs/agenda/MANIFEST-000088 b/packs/agenda/MANIFEST-000090 similarity index 68% rename from packs/agenda/MANIFEST-000088 rename to packs/agenda/MANIFEST-000090 index 2db4d1d6085381e9d3a97f513cf11964f7472d3d..18e9106f1ff30596e51336f968e3b55e7cc91e5c 100644 GIT binary patch delta 22 dcmdnZxSMgp8vcFzxHCBz7@49u8JJ^O%m7sD1-t+N delta 22 dcmdnZxSMgp8vexHoHiT`j7*W749rn1W&lkD1t|ak diff --git a/packs/agenda2/000093.log b/packs/agenda2/000095.log similarity index 100% rename from packs/agenda2/000093.log rename to packs/agenda2/000095.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index 5b83d76..0ab25fa 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000092 +MANIFEST-000094 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index 99f123c..4cbae02 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:53.791634 ffff81fbf120 Recovering log #90 -2024/09/01-23:43:53.908452 ffff81fbf120 Delete type=0 #90 -2024/09/01-23:43:53.908807 ffff81fbf120 Delete type=3 #88 +2024/09/02-07:59:23.904807 ffffad7af120 Recovering log #93 +2024/09/02-07:59:23.934864 ffffad7af120 Delete type=3 #92 +2024/09/02-07:59:23.935221 ffffad7af120 Delete type=0 #93 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index 904a853..99f123c 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,10 +1,3 @@ -2024/09/01-23:43:22.070504 ffff817af120 Recovering log #87 -2024/09/01-23:43:22.173103 ffff817af120 Delete type=3 #37 -2024/09/01-23:43:22.173508 ffff817af120 Delete type=3 #86 -2024/09/01-23:43:22.173767 ffff817af120 Delete type=0 #87 -2024/09/01-23:43:22.173952 ffff817af120 Delete type=0 #38 -2024/09/01-23:43:45.970604 ffff7bfff120 Level-0 table #91: started -2024/09/01-23:43:45.970865 ffff7bfff120 Level-0 table #91: 0 bytes OK -2024/09/01-23:43:46.000926 ffff7bfff120 Delete type=0 #89 -2024/09/01-23:43:46.069234 ffff7bfff120 Manual compaction at level-0 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) -2024/09/01-23:43:46.222061 ffff7bfff120 Manual compaction at level-1 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!zZFPaBUSRswOimI7' @ 0 : 0; will stop at (end) +2024/09/01-23:43:53.791634 ffff81fbf120 Recovering log #90 +2024/09/01-23:43:53.908452 ffff81fbf120 Delete type=0 #90 +2024/09/01-23:43:53.908807 ffff81fbf120 Delete type=3 #88 diff --git a/packs/agenda2/MANIFEST-000092 b/packs/agenda2/MANIFEST-000094 similarity index 67% rename from packs/agenda2/MANIFEST-000092 rename to packs/agenda2/MANIFEST-000094 index 663af64817526f1be0e2a67623bb2202a48a9852..5e6e2288ee6233383d171fc3456735edfb72df53 100644 GIT binary patch delta 23 ecmdnbxSw&tdI6q;Eg75)j7;&I49p2Ef0zMT2L@vR delta 23 ecmdnbxSw&tdI6cM(YBlnj7+hd49syXf0zMQt_Cjv diff --git a/packs/blasphemy/000092.log b/packs/blasphemy/000094.log similarity index 100% rename from packs/blasphemy/000092.log rename to packs/blasphemy/000094.log diff --git a/packs/blasphemy/CURRENT b/packs/blasphemy/CURRENT index 00f4669..f60e23b 100644 --- a/packs/blasphemy/CURRENT +++ b/packs/blasphemy/CURRENT @@ -1 +1 @@ -MANIFEST-000091 +MANIFEST-000093 diff --git a/packs/blasphemy/LOG b/packs/blasphemy/LOG index d7bb46e..4925ad6 100644 --- a/packs/blasphemy/LOG +++ b/packs/blasphemy/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:53.925349 ffff80f9f120 Recovering log #88 -2024/09/01-23:43:54.037919 ffff80f9f120 Delete type=0 #88 -2024/09/01-23:43:54.038216 ffff80f9f120 Delete type=3 #86 +2024/09/02-07:59:23.952039 ffffaefdf120 Recovering log #92 +2024/09/02-07:59:23.993372 ffffaefdf120 Delete type=3 #91 +2024/09/02-07:59:23.993858 ffffaefdf120 Delete type=0 #92 diff --git a/packs/blasphemy/LOG.old b/packs/blasphemy/LOG.old index eaaa40e..d7bb46e 100644 --- a/packs/blasphemy/LOG.old +++ b/packs/blasphemy/LOG.old @@ -1,11 +1,3 @@ -2024/09/01-23:43:22.370891 ffff827cf120 Delete type=3 #1 -2024/09/01-23:43:46.032645 ffff7bfff120 Level-0 table #89: started -2024/09/01-23:43:46.032874 ffff7bfff120 Level-0 table #89: 0 bytes OK -2024/09/01-23:43:46.068647 ffff7bfff120 Delete type=0 #87 -2024/09/01-23:43:46.130179 ffff7bfff120 Manual compaction at level-0 from '!folders!FWZZgy9tnHSHa9tk' @ 72057594037927935 : 1 .. '!items!yotw9uAVluGmTHO4' @ 0 : 0; will stop at '!items!yotw9uAVluGmTHO4' @ 183 : 1 -2024/09/01-23:43:46.130270 ffff7bfff120 Compacting 1@0 + 0@1 files -2024/09/01-23:43:46.190374 ffff7bfff120 Generated table #90@0: 84 keys, 52016 bytes -2024/09/01-23:43:46.190531 ffff7bfff120 Compacted 1@0 + 0@1 files => 52016 bytes -2024/09/01-23:43:46.220555 ffff7bfff120 compacted to: files[ 0 1 0 0 0 0 0 ] -2024/09/01-23:43:46.221445 ffff7bfff120 Delete type=2 #23 -2024/09/01-23:43:46.222245 ffff7bfff120 Manual compaction at level-0 from '!items!yotw9uAVluGmTHO4' @ 183 : 1 .. '!items!yotw9uAVluGmTHO4' @ 0 : 0; will stop at (end) +2024/09/01-23:43:53.925349 ffff80f9f120 Recovering log #88 +2024/09/01-23:43:54.037919 ffff80f9f120 Delete type=0 #88 +2024/09/01-23:43:54.038216 ffff80f9f120 Delete type=3 #86 diff --git a/packs/blasphemy/MANIFEST-000091 b/packs/blasphemy/MANIFEST-000093 similarity index 81% rename from packs/blasphemy/MANIFEST-000091 rename to packs/blasphemy/MANIFEST-000093 index a0ff275150ab6de9fc9a7880d81345c6abca4d85..e93db55f4a2e7e142592e3257b8c0b606ed007b9 100644 GIT binary patch delta 23 ecmbQsIG1rkuK)+X#9>YbMy5DU2IhE{Ka2oG#sx9} delta 23 ecmbQsIG1rkufX$+K2uHxMy41}2Ig3nKa2oZ69!HI diff --git a/packs/blasphemy2/000097.log b/packs/blasphemy2/000099.log similarity index 100% rename from packs/blasphemy2/000097.log rename to packs/blasphemy2/000099.log diff --git a/packs/blasphemy2/CURRENT b/packs/blasphemy2/CURRENT index 6274e55..95395b2 100644 --- a/packs/blasphemy2/CURRENT +++ b/packs/blasphemy2/CURRENT @@ -1 +1 @@ -MANIFEST-000096 +MANIFEST-000098 diff --git a/packs/blasphemy2/LOG b/packs/blasphemy2/LOG index 9fd4eac..9860bd9 100644 --- a/packs/blasphemy2/LOG +++ b/packs/blasphemy2/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:54.053632 ffff817af120 Recovering log #92 -2024/09/01-23:43:54.163074 ffff817af120 Delete type=0 #92 -2024/09/01-23:43:54.163419 ffff817af120 Delete type=3 #89 +2024/09/02-07:59:24.010416 ffffae7cf120 Recovering log #97 +2024/09/02-07:59:24.039810 ffffae7cf120 Delete type=3 #96 +2024/09/02-07:59:24.040150 ffffae7cf120 Delete type=0 #97 diff --git a/packs/blasphemy2/LOG.old b/packs/blasphemy2/LOG.old index a8dfb09..9fd4eac 100644 --- a/packs/blasphemy2/LOG.old +++ b/packs/blasphemy2/LOG.old @@ -1,25 +1,3 @@ -2024/09/01-23:43:22.388549 ffff80f9f120 Recovering log #88 -2024/09/01-23:43:22.390124 ffff80f9f120 Level-0 table #90: started -2024/09/01-23:43:22.445851 ffff80f9f120 Level-0 table #90: 55290 bytes OK -2024/09/01-23:43:22.536982 ffff80f9f120 Delete type=0 #88 -2024/09/01-23:43:22.537443 ffff80f9f120 Delete type=0 #39 -2024/09/01-23:43:22.537591 ffff80f9f120 Delete type=3 #38 -2024/09/01-23:43:22.537760 ffff80f9f120 Delete type=3 #87 -2024/09/01-23:43:46.348519 ffff7bfff120 Level-0 table #93: started -2024/09/01-23:43:46.348743 ffff7bfff120 Level-0 table #93: 0 bytes OK -2024/09/01-23:43:46.374472 ffff7bfff120 Delete type=0 #91 -2024/09/01-23:43:46.374914 ffff7bfff120 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 474 : 0 -2024/09/01-23:43:46.374949 ffff7bfff120 Compacting 1@0 + 0@1 files -2024/09/01-23:43:46.411753 ffff7bfff120 Generated table #94@0: 109 keys, 53864 bytes -2024/09/01-23:43:46.411904 ffff7bfff120 Compacted 1@0 + 0@1 files => 53864 bytes -2024/09/01-23:43:46.440030 ffff7bfff120 compacted to: files[ 0 1 1 0 0 0 0 ] -2024/09/01-23:43:46.441081 ffff7bfff120 Delete type=2 #90 -2024/09/01-23:43:46.484755 ffff7bfff120 Manual compaction at level-0 from '!items!ziiFc860EZanavt1' @ 474 : 0 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) -2024/09/01-23:43:46.562495 ffff7bfff120 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!items!ziiFc860EZanavt1' @ 540 : 1 -2024/09/01-23:43:46.562618 ffff7bfff120 Compacting 1@1 + 1@2 files -2024/09/01-23:43:46.620029 ffff7bfff120 Generated table #95@1: 109 keys, 53864 bytes -2024/09/01-23:43:46.620156 ffff7bfff120 Compacted 1@1 + 1@2 files => 53864 bytes -2024/09/01-23:43:46.646871 ffff7bfff120 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/09/01-23:43:46.647786 ffff7bfff120 Delete type=2 #94 -2024/09/01-23:43:46.648415 ffff7bfff120 Delete type=2 #64 -2024/09/01-23:43:46.686989 ffff7bfff120 Manual compaction at level-1 from '!items!ziiFc860EZanavt1' @ 540 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/09/01-23:43:54.053632 ffff817af120 Recovering log #92 +2024/09/01-23:43:54.163074 ffff817af120 Delete type=0 #92 +2024/09/01-23:43:54.163419 ffff817af120 Delete type=3 #89 diff --git a/packs/blasphemy2/MANIFEST-000096 b/packs/blasphemy2/MANIFEST-000098 similarity index 67% rename from packs/blasphemy2/MANIFEST-000096 rename to packs/blasphemy2/MANIFEST-000098 index 4093d2ce48042329c33f3115cf6a547ed314c6e6..b1d6caba6bd1a21fda6b213914fd213f026db833 100644 GIT binary patch delta 23 ecmdnbxSw&tdV!_dc1)ZMj7-U#49qDkCs+Vblm(9f delta 23 ecmdnbxSw&tdV#*{ZbqC8j7*7~49rO^Cs+Vn00vk9 diff --git a/packs/items/000093.log b/packs/items/000095.log similarity index 100% rename from packs/items/000093.log rename to packs/items/000095.log diff --git a/packs/items/CURRENT b/packs/items/CURRENT index 5b83d76..0ab25fa 100644 --- a/packs/items/CURRENT +++ b/packs/items/CURRENT @@ -1 +1 @@ -MANIFEST-000092 +MANIFEST-000094 diff --git a/packs/items/LOG b/packs/items/LOG index 9c149d0..33a804f 100644 --- a/packs/items/LOG +++ b/packs/items/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:53.536016 ffff817af120 Recovering log #89 -2024/09/01-23:43:53.667588 ffff817af120 Delete type=0 #89 -2024/09/01-23:43:53.668088 ffff817af120 Delete type=3 #87 +2024/09/02-07:59:23.810431 ffffae7cf120 Recovering log #93 +2024/09/02-07:59:23.843548 ffffae7cf120 Delete type=3 #92 +2024/09/02-07:59:23.843907 ffffae7cf120 Delete type=0 #93 diff --git a/packs/items/LOG.old b/packs/items/LOG.old index c43312e..9c149d0 100644 --- a/packs/items/LOG.old +++ b/packs/items/LOG.old @@ -1,11 +1,3 @@ -2024/09/01-23:43:21.905253 ffff827cf120 Delete type=3 #1 -2024/09/01-23:43:46.001418 ffff7bfff120 Level-0 table #90: started -2024/09/01-23:43:46.001669 ffff7bfff120 Level-0 table #90: 0 bytes OK -2024/09/01-23:43:46.032252 ffff7bfff120 Delete type=0 #88 -2024/09/01-23:43:46.069383 ffff7bfff120 Manual compaction at level-0 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at '!items!zUOSvdFDFvXZqROE' @ 136 : 1 -2024/09/01-23:43:46.069463 ffff7bfff120 Compacting 1@0 + 0@1 files -2024/09/01-23:43:46.102026 ffff7bfff120 Generated table #91@0: 48 keys, 13709 bytes -2024/09/01-23:43:46.102169 ffff7bfff120 Compacted 1@0 + 0@1 files => 13709 bytes -2024/09/01-23:43:46.128410 ffff7bfff120 compacted to: files[ 0 1 0 0 0 0 0 ] -2024/09/01-23:43:46.129578 ffff7bfff120 Delete type=2 #24 -2024/09/01-23:43:46.222150 ffff7bfff120 Manual compaction at level-0 from '!items!zUOSvdFDFvXZqROE' @ 136 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) +2024/09/01-23:43:53.536016 ffff817af120 Recovering log #89 +2024/09/01-23:43:53.667588 ffff817af120 Delete type=0 #89 +2024/09/01-23:43:53.668088 ffff817af120 Delete type=3 #87 diff --git a/packs/items/MANIFEST-000092 b/packs/items/MANIFEST-000094 similarity index 82% rename from packs/items/MANIFEST-000092 rename to packs/items/MANIFEST-000094 index 710876eba7dad665e8b47e1f9ecb92848820b1eb..0a8cc3b5dc338c58c6542288e45b9216460f09ef 100644 GIT binary patch delta 23 fcmbQkIEQgUkAVE#wWm257@6WZ8JH7TCNKg3RtyFQ delta 23 ecmbQkIEQgUj{tvVnFJ>TBU3CV19Ke91V#WxzXas~ diff --git a/packs/sin-marks/000007.log b/packs/sin-marks/000007.log deleted file mode 100644 index 799ddea9495d1f5b23eb093ffbddc9e0b12d225f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33175 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 literal 0 HcmV?d00001 diff --git a/packs/sin-marks/000010.log b/packs/sin-marks/000010.log new file mode 100644 index 0000000000000000000000000000000000000000..0e738a308edb22bd4d7f0c166fba88bd8137a111 GIT binary patch literal 31634 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 literal 0 HcmV?d00001 diff --git a/packs/tables/000089.log b/packs/tables/000091.log similarity index 100% rename from packs/tables/000089.log rename to packs/tables/000091.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index 948a0b6..2f2c868 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000088 +MANIFEST-000090 diff --git a/packs/tables/LOG b/packs/tables/LOG index a0fd18d..9746797 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,3 +1,3 @@ -2024/09/01-23:43:54.179649 ffff827cf120 Recovering log #86 -2024/09/01-23:43:54.300858 ffff827cf120 Delete type=0 #86 -2024/09/01-23:43:54.301267 ffff827cf120 Delete type=3 #84 +2024/09/02-07:59:24.055791 ffffad7af120 Recovering log #89 +2024/09/02-07:59:24.080362 ffffad7af120 Delete type=0 #89 +2024/09/02-07:59:24.080621 ffffad7af120 Delete type=3 #88 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index 7a0bd6a..a0fd18d 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,10 +1,3 @@ -2024/09/01-23:43:22.551376 ffff817af120 Recovering log #83 -2024/09/01-23:43:22.672372 ffff817af120 Delete type=0 #83 -2024/09/01-23:43:22.672803 ffff817af120 Delete type=0 #67 -2024/09/01-23:43:22.673028 ffff817af120 Delete type=3 #82 -2024/09/01-23:43:22.673390 ffff817af120 Delete type=3 #66 -2024/09/01-23:43:46.273765 ffff7bfff120 Level-0 table #87: started -2024/09/01-23:43:46.273931 ffff7bfff120 Level-0 table #87: 0 bytes OK -2024/09/01-23:43:46.311177 ffff7bfff120 Delete type=0 #85 -2024/09/01-23:43:46.374789 ffff7bfff120 Manual compaction at level-0 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) -2024/09/01-23:43:46.441813 ffff7bfff120 Manual compaction at level-1 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) +2024/09/01-23:43:54.179649 ffff827cf120 Recovering log #86 +2024/09/01-23:43:54.300858 ffff827cf120 Delete type=0 #86 +2024/09/01-23:43:54.301267 ffff827cf120 Delete type=3 #84 diff --git a/packs/tables/MANIFEST-000088 b/packs/tables/MANIFEST-000090 similarity index 71% rename from packs/tables/MANIFEST-000088 rename to packs/tables/MANIFEST-000090 index 8acff01cb6f26899400a9a06c246133df841b8fe..c5a30101529f6bb28fa0651b56b901eb88521e98 100644 GIT binary patch delta 23 ecmeBX>SmhoTj1LCtnHi(j7-s-49qbsOBn%SdIr4! delta 23 ecmeBX>SmhoTOjteVmc=SBU2 Date: Mon, 2 Sep 2024 13:08:29 -0500 Subject: [PATCH 073/103] Added affliction class --- module/data/afflictions/item-affliction.mjs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 module/data/afflictions/item-affliction.mjs diff --git a/module/data/afflictions/item-affliction.mjs b/module/data/afflictions/item-affliction.mjs new file mode 100644 index 0000000..3feb71c --- /dev/null +++ b/module/data/afflictions/item-affliction.mjs @@ -0,0 +1,18 @@ +import CainItemBase from "../base-item.mjs"; + +export default class CainAffliction extends CainItemBase { + static defineSchema() { + const fields = foundry.data.fields; + const requiredInteger = { required: true, nullable: false, integer: true }; + const schema = super.defineSchema(); + + + schema.afflictionName = new fields.StringField({ required: true, nullable: false, initial: "New Affliction" }); + schema.afflictionDescription = new fields.StringField({required: true, nullable: false, initial: "Affliction Description"}); + + + schema.formula = new fields.StringField({ blank: true }); + + return schema; + } +} From 08e062ea86a93ef9c5e8fd79bd80eadc3a4c2e69 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 13:51:49 -0500 Subject: [PATCH 074/103] Added automatic adjustment to XP max when adding multiple blasphemies --- module/data/actor-character.mjs | 4 ++-- module/sheets/actor-sheet.mjs | 42 +++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/module/data/actor-character.mjs b/module/data/actor-character.mjs index 8bb77ca..fdf593e 100644 --- a/module/data/actor-character.mjs +++ b/module/data/actor-character.mjs @@ -34,8 +34,8 @@ export default class CainCharacter extends CainActorBase { // Add XP and advancements fields schema.xp = new fields.SchemaField({ - value: new fields.NumberField({ required: true, initial: 0, min: 0, max: 4 }), - max: new fields.NumberField({ required: true, initial: 4, min: 4, max: 4 }), + value: new fields.NumberField({ required: true, initial: 0, min: 0, max: 10 }), + max: new fields.NumberField({ required: true, initial: 4, min: 4, max: 10 }), }); schema.advancements = new fields.SchemaField({ diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index ea4bba8..df69048 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -336,7 +336,7 @@ export class CainActorSheet extends ActorSheet { card.classList.toggle('visible'); }); - html.find('.abilities-page-drop-target').on('drop', async event => { + html.find('.character-drop-target').on('drop', async event => { event.preventDefault(); const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); const itemDrop = await Item.fromDropData(data); @@ -356,28 +356,18 @@ export class CainActorSheet extends ActorSheet { case "blasphemyPower": this._onDropBlasphemyPower(event, itemDrop); break; - default: - ui.notifications.error("Invalid drop type on ability page: " + itemDrop.type); - console.warn("Invalid drop type on ability page: " + itemDrop.type); - } -}); - - html.find('.sin-page-drop-target').on('drop', async event => { - event.preventDefault(); - const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); - const itemDrop = await Item.fromDropData(data); - switch(itemDrop.type) { case "sinMark": this._onDropSinMark(event, itemDrop); break; case "sinMarkAbility": this._onDropSinMarkAbility(event, itemDrop); break; - default: - ui.notifications.error("Invalid drop type on sin page: " + itemDrop.type); - console.warn("Invalid drop type on sin page: " + itemDrop.type); + default: + ui.notifications.error("Invalid drop type on ability page: " + itemDrop.type); + console.warn("Invalid drop type on ability page: " + itemDrop.type); } - }); +}); + html.find('.remove-task-button').click(this._removeAgendaTask.bind(this)); // Bind the send to chat functions @@ -627,13 +617,19 @@ export class CainActorSheet extends ActorSheet { // Combine the current and new blasphemy powers const newBlasphemyPowersList = blasphemyPowersList.concat(newBlasphemyPowers); console.log("Updated Blasphemy Powers:", newBlasphemyPowersList); - + + //Check if this raises the number of blasphemies higher than 1, if so, add one to the XP max + let XPmax = this.actor.system.xp.max; + if (blasphemyList.length > 1) XPmax += 1; + const newXPMax = XPmax; // Update the actor with the new lists this.actor.update({ 'system.currentBlasphemies': blasphemyList, - 'system.currentBlasphemyPowers': newBlasphemyPowersList + 'system.currentBlasphemyPowers': newBlasphemyPowersList, + 'system.xp.max': newXPMax }).then(() => { console.log("Actor updated successfully."); + console.log(this.actor); }).catch(err => { console.error("Error updating actor:", err); ui.notifications.error("Error updating actor. Please check the console for more details."); @@ -958,6 +954,15 @@ export class CainActorSheet extends ActorSheet { const blasphemy = game.items.get(blasphemyID); console.log(blasphemy); const blasphemies = this.actor.system.currentBlasphemies || []; + if (!blasphemies.includes(blasphemyID)) {console.error("Tried to remove Blasphemy ID: " + blasphemyID + " but did not find it in list: " + blasphemies); return}; //Break out if we're trying to remove a non-existant blasphemy. + + //Handle reducing XP max if removing a 2nd blasphemy. + let XPmax = this.actor.system.xp.max; + if (blasphemies.length > 1) { + XPmax -= 1; + } + + //Remove the blasphemy const index = blasphemies.indexOf(blasphemyID); const newBlasphemies = blasphemies.slice(0, Number(index)).concat(blasphemies.slice(Number(index)+1)); const blasphemyPowers = this.actor.system.currentBlasphemyPowers || []; @@ -967,6 +972,7 @@ export class CainActorSheet extends ActorSheet { this.actor.update({ 'system.currentBlasphemies': newBlasphemies, 'system.currentBlasphemyPowers': newBlasphemyPowers, + 'system.xp.max': XPmax, }).then(() => { this.render(false); // Re-render the sheet to reflect changes }); From 1a69fa04071cabc7dc023ba641d6755b4c9d1248 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 14:02:32 -0500 Subject: [PATCH 075/103] missed something to include in the commit --- templates/actor/actor-character-sheet.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index 15af0ee..fd6ea4b 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -1,7 +1,7 @@ {{!-- Sheet Header --}} -

    +
    @@ -71,7 +71,7 @@ {{!-- Sheet Body --}} -
    +
    {{!-- Owned Features Tab --}}
    From 6ba3ef9bd1d885e204ca04e47eb1e180f9409c89 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 14:18:01 -0500 Subject: [PATCH 076/103] changed advancements to use checkboxes instead of bar --- templates/actor/parts/actor-features.hbs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 89935ff..0aa8242 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -133,8 +133,10 @@
    {{system.advancements.value}} -
    - +
    + {{#times system.advancements.max}} + + {{/times}}
    From 620fce3f54d957affac7a05975e2440d754a82df Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 15:26:47 -0500 Subject: [PATCH 077/103] Afflictions functional, need styling --- lang/en.json | 3 +- module/cain.mjs | 1 + module/data/_module.mjs | 1 + module/data/actor-character.mjs | 8 +-- module/sheets/actor-sheet.mjs | 72 +++++++++++++++++++++++ template.json | 2 +- templates/actor/actor-character-sheet.hbs | 17 ++++-- 7 files changed, 91 insertions(+), 13 deletions(-) diff --git a/lang/en.json b/lang/en.json index 2744ff0..95cce67 100644 --- a/lang/en.json +++ b/lang/en.json @@ -53,7 +53,8 @@ "agendaTask": "Agenda Task", "agendaAbility": "Agenda Ability", "sinMark": "Sin Mark", - "sinMarkAbility": "Sin Mark Ability" + "sinMarkAbility": "Sin Mark Ability", + "affliction": "Affliction" } }, diff --git a/module/cain.mjs b/module/cain.mjs index 84a84e9..60b76ee 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -60,6 +60,7 @@ Hooks.once('init', async function () { agendaAbility: models.CainAgendaAbility, sinMark: models.CainSinMark, sinMarkAbility: models.CainSinMarkAbility, + affliction: models.CainAffliction, } console.log('CAIN | Initializing Cain system'); diff --git a/module/data/_module.mjs b/module/data/_module.mjs index ce34e7d..78c9ea0 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -17,3 +17,4 @@ export {default as CainBlasphemy} from "./blasphemy/item-blasphemy.mjs"; export {default as CainBlasphemyPower} from "./blasphemy/item-blasphemy-power.mjs"; export {default as CainSinMark} from "./sins/item-sin-mark.mjs"; export {default as CainSinMarkAbility} from "./sins/item-sin-mark-ability.mjs"; +export {default as CainAffliction} from "./afflictions/item-affliction.mjs"; diff --git a/module/data/actor-character.mjs b/module/data/actor-character.mjs index fdf593e..98b14ac 100644 --- a/module/data/actor-character.mjs +++ b/module/data/actor-character.mjs @@ -49,13 +49,7 @@ export default class CainCharacter extends CainActorBase { value: new fields.NumberField({ required: true, initial: 0, min: 0, max: 7 }), }); - schema.afflictions = new fields.SchemaField({ - affliction1: new fields.StringField({ required: true, blank: true }), - affliction2: new fields.StringField({ required: true, blank: true }), - affliction3: new fields.StringField({ required: true, blank: true }), - affliction4: new fields.StringField({ required: true, blank: true }), - affliction5: new fields.StringField({ required: true, blank: true }), - }); + schema.afflictions = new fields.ArrayField(new fields.StringField({ required: true, initial: " " }), { required: true, initial: [] }); schema.divineAgony = new fields.SchemaField({ value: new fields.NumberField({ required: true, initial: 0, min: 0, max: 3 }), diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index df69048..fa3e4f4 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -101,6 +101,7 @@ export class CainActorSheet extends ActorSheet { context.currentBlasphemyPowers = this._getItemsFromIDs(context.system.currentBlasphemyPowers || []); context.currentSinMarks = this._getItemsFromIDs(context.system.sinMarks || []); context.currentSinMarkAbilities = this._getItemsFromIDs(context.system.sinMarkAbilities || []); + context.currentAfflictions = this._getItemsFromIDs(context.system.afflictions || []); // Calculate currentUnlinkedBlasphemyPowers context.currentUnlinkedBlasphemyPowers = this._getItemsFromIDs( @@ -291,6 +292,10 @@ export class CainActorSheet extends ActorSheet { html.find('.blasphemy-power-to-chat').on('click', this._sendBlasphemyPowerMessage.bind(this)); html.find('.remove-blasphemy-power-button').on('click', this._removeBlasphemyPowerButton.bind(this)); html.find('.remove-blasphemy-button').on('click', this._removeBlasphemyButton.bind(this)); + html.find('.remove-blasphemy-button').on('click', this._removeBlasphemyButton.bind(this)); + html.find('.remove-affliction-button').on('click', this._removeAfflictionButton.bind(this)); + + html.find('.add-affliction-button').on('click', async event => {await this._addAffliction(event)}); let cat_selector_imgs = html.find('.CAT-selector') cat_selector_imgs.on('click', this._onCATSelect.bind(this, true)); @@ -802,6 +807,62 @@ export class CainActorSheet extends ActorSheet { this.actor.render(true); } + async _addAffliction(event) { + event.preventDefault(); + console.log("adding affliction"); + const dialogResult = await Dialog.wait({ + title: "Add Affliction", + content: `

    This lets you create a new affliction. If your Admin has an existing one in mind, they should add it from the player overview section or by dragging it to you sheet.

    + + + + `, + buttons: { + submit: { label: "Submit", callback: (html) => { + const formElement = html[0].querySelector('form'); + const formData = new FormDataExtended(formElement); + const formDataObject = formData.object; + return formDataObject; + }}, + cancel: { label: "Cancel" }, + } + }); + if (dialogResult === 'cancel') return; + let afflictionFolderFolder = game.folders.find(f => f.name === "Affliction Data" && f.type === "Item"); + if (!afflictionFolderFolder) { + afflictionFolderFolder = await Folder.create({ + name: "Affliction Data", + type: "Item", + folder: null, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let afflictionFolder = game.folders.find(f => f.name === "Misc Afflictions" && f.type === "Item"); + if (!afflictionFolder) { + afflictionFolder = await Folder.create({ + name: "Misc Afflictions", + type: "Item", + folder: afflictionFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + const createdAfflictionData = { + name: dialogResult.afflictionName, + type: "affliction", // Ensure this matches the item type defined in your game system + img: "icons/svg/item-bag.svg", + folder: afflictionFolder.id, // Assign the item to the folder + system: { + afflictionName: dialogResult.afflictionName, + afflictionDescription: dialogResult.afflictionDescription + } + }; + const createdAffliction = await Item.create(createdAfflictionData); + const afflictionList = this.actor.system.afflictions; + afflictionList.push(createdAffliction.id); + this.actor.update({'system.afflictions': afflictionList}); + } + _removeAgendaTask(event) { event.preventDefault(); @@ -936,6 +997,17 @@ export class CainActorSheet extends ActorSheet { }); } + _removeAfflictionButton(event) { + event.preventDefault(); + const afflictionID = event.currentTarget.dataset.id; + const afflictions = this.actor.system.afflictions || []; + const index = afflictions.indexOf(afflictionID); + const newAfflictions = afflictions.slice(0, Number(index)).concat(afflictions.slice(Number(index)+1)) + this.actor.update({ 'system.afflictions': newAfflictions }).then(() => { + this.render(false); // Re-render the sheet to reflect changes + }); + } + _removeBlasphemyPowerButton(event) { event.preventDefault(); const powerID = event.currentTarget.dataset.id; diff --git a/template.json b/template.json index a9af9b2..8068e43 100644 --- a/template.json +++ b/template.json @@ -3,6 +3,6 @@ "types": ["character", "npc", "mundane"] }, "Item": { - "types": ["item", "agenda", "blasphemy", "blasphemyPower", "agendaTask", "agendaAbility", "sinMark", "sinMarkAbility"] + "types": ["item", "agenda", "blasphemy", "blasphemyPower", "agendaTask", "agendaAbility", "sinMark", "sinMarkAbility", "affliction"] } } diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index fd6ea4b..434b5f2 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -98,11 +98,20 @@ use both the "grid" and "grid-Ncol" class where "N" can be any number from 1 to 12 and will create that number of columns. --}}

    Afflictions

    - {{#each system.afflictions as |affliction key|}} -
    - -
    + {{#each currentAfflictions}} +
    + {{this.system.afflictionName}}: +

    + {{formatted this.system.afflictionDescription}} +

    +
    + + {{/each}} + +
    From ef793b67b512ba1ae9d488685866aad929393b7c Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 17:18:15 -0500 Subject: [PATCH 078/103] Afflictions sorta working but I suck at CSS --- templates/actor/actor-character-sheet.hbs | 86 ++++++++++++++++++++--- 1 file changed, 76 insertions(+), 10 deletions(-) diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index 434b5f2..befa311 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -99,16 +99,19 @@ from 1 to 12 and will create that number of columns. --}}

    Afflictions

    {{#each currentAfflictions}} -
    - {{this.system.afflictionName}}: -

    - {{formatted this.system.afflictionDescription}} -

    +
    +
    +

    Title

    +

    + {{formatted this.system.afflictionDescription}} +

    +
    +
    +
    +
    - - {{/each}} @@ -158,4 +161,67 @@
    - \ No newline at end of file + + + \ No newline at end of file From d63989690ea8cba333f13346e5e4c959f436d686 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Mon, 2 Sep 2024 17:31:13 -0500 Subject: [PATCH 079/103] actually closed my button like a button --- templates/actor/actor-character-sheet.hbs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index befa311..e55dea2 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -99,7 +99,7 @@ from 1 to 12 and will create that number of columns. --}}

    Afflictions

    {{#each currentAfflictions}} -
    +

    Title

    @@ -109,7 +109,7 @@

    +
    {{/each}} @@ -165,11 +165,10 @@ \ No newline at end of file From 787a60034da74b81eaf41d77cfc6e1e536503746 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 02:19:38 -0500 Subject: [PATCH 090/103] changed text from GIVE IN to SUCCOMB to prevent rules confusion --- templates/actor/parts/actor-sin.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index 13fdf61..bd7de83 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -56,7 +56,7 @@ {{/each}} - + {{/each}} From 61eb11736afdfc3370c172ce6db321e8f3456bb3 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 02:22:20 -0500 Subject: [PATCH 091/103] oops, off by one error --- module/sheets/actor-sheet.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 9b169cc..adbc117 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -1522,7 +1522,7 @@ export class CainActorSheet extends ActorSheet { console.log(selectedSinMark); // Get abilities of the selected Sin Mark - const abilities = selectedSinMark.system.abilities.filter(sinMarkID => {return this.actor.system.sinMarkAbilities.includes(sinMarkID)}) || []; + const abilities = selectedSinMark.system.abilities.filter(sinMarkID => {return !this.actor.system.sinMarkAbilities.includes(sinMarkID)}) || []; if (abilities.length === 0) { ui.notifications.warn("Selected Sin Mark has no abilities."); return; @@ -1590,7 +1590,7 @@ export class CainActorSheet extends ActorSheet { console.log(selectedSinMark); // Get abilities of the selected Sin Mark - const abilities = selectedSinMark.system.abilities.filter(sinMarkID => {return this.actor.system.sinMarkAbilities.includes(sinMarkID)}) || []; + const abilities = selectedSinMark.system.abilities.filter(sinMarkID => {return !this.actor.system.sinMarkAbilities.includes(sinMarkID)}) || []; if (abilities.length === 0) { ui.notifications.warn("Selected Sin Mark has no abilities."); return; From 2ffcdc47bed66151a10ecf275716c573154e36b1 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 02:24:08 -0500 Subject: [PATCH 092/103] one more bugfix --- module/sheets/actor-sheet.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index adbc117..9c5f6f8 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -1566,6 +1566,7 @@ export class CainActorSheet extends ActorSheet { await this.actor.update({ + 'system.sinMarks' : currentSinMarks, 'system.sinMarkAbilities': currentSinMarkAbilities }); @@ -1634,7 +1635,6 @@ export class CainActorSheet extends ActorSheet { await this.actor.update({ - 'system.sinMarks': currentSinMarks, 'system.sinMarkAbilities': currentSinMarkAbilities }); From 61170adb1e0f61a0cffe76dab58f0c3ad907a3df Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Tue, 3 Sep 2024 18:20:41 -0400 Subject: [PATCH 093/103] Updated sin overflow with new formula for rolling so adds sin automatically. added in fixes for CSS pertaining to sin mark look. --- css/cain.css | 13 ++----- module/sheets/actor-sheet.mjs | 29 +++++++++++++++ templates/actor/parts/actor-sin.hbs | 56 +++++++++++++++++++++-------- 3 files changed, 74 insertions(+), 24 deletions(-) diff --git a/css/cain.css b/css/cain.css index 7d89f25..2e7e1b8 100644 --- a/css/cain.css +++ b/css/cain.css @@ -1135,7 +1135,7 @@ padding: 0; } -.sin-marks li { +.sin-mark-body-part { background-color: #2b2b2b; border: 2px solid #660066; padding: 15px; @@ -1151,7 +1151,6 @@ .sin-marks li:active { background-color: #1a1a1a; - transform: scale(0.95); box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); } @@ -1162,27 +1161,21 @@ } .sin-marks button { - background-color: #cc33ff; color: #fff; - border: 2px solid #660066; - padding: 12px 24px; - margin: 5px; - border-radius: 8px; + border: 2px solid #660066;; + margin: 0px; cursor: pointer; font-family: 'Courier-New', serif; transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } .sin-marks button:hover { background-color: #b300b3; - transform: scale(1.1); box-shadow: 0 0 20px rgba(128, 0, 128, 0.8); } .sin-marks button:active { background-color: #990099; - transform: scale(0.95); box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); } diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 9c5f6f8..e729a41 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -411,8 +411,37 @@ export class CainActorSheet extends ActorSheet { // Event listener for selectedAgenda html.find('#selectedAgenda').change(this._onAbilitySelect.bind(this)); + html.find('.rollable[data-roll="1d3"]').click(async () => { + const actor = this.actor; + await this._rollSinOverflow(actor); + }); + } + async _rollSinOverflow(actor) { + // Roll 1d3 + const roll = await new Roll('1d3').roll(); + const rolledValue = roll.total; + + // Get current sinOverflow value and max + const currentSinOverflow = actor.system.sinOverflow.value; + const maxSinOverflow = actor.system.sinOverflow.max; + + // Calculate new sinOverflow value + let newSinOverflow = currentSinOverflow + rolledValue; + + // Check if new value exceeds max + if (newSinOverflow >= maxSinOverflow) { + newSinOverflow = maxSinOverflow; + ui.notifications.error(`😈 You are now at risk of sin overflow! Current value: ${newSinOverflow} / ${maxSinOverflow} 😈`); + } else { + ui.notifications.info(`😈 Current sin overflow value: ${newSinOverflow} / ${maxSinOverflow} 😈`); + } + + // Update actor's sinOverflow value + await actor.update({'system.sinOverflow.value': newSinOverflow}); + } + _onAbilitySelect(event) { const selectElement = event.target; if (selectElement.options.length === 0) { diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index bd7de83..8bdaa08 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -40,11 +40,11 @@ {{#if currentSinMarkData.length}}
      {{#each currentSinMarkData}} -
    • +
    • {{this.sinMark.name}}

        {{#each this.abilities}} -
      • +
      • {{this.name}}

        {{this.description}}

        @@ -68,7 +68,6 @@
        -
    @@ -78,11 +77,7 @@ position: relative; align-items: center; border: 2px solid black; - border-radius: 25px; - padding-left: 2px; padding-right: 0px; - padding-top: 2px; - padding-bottom: 2px; margin-top: 20px 0; margin-bottom: 20px 0; margin-left: 10px 0; @@ -103,12 +98,15 @@ } .remove-sin-mark-div { + padding-right: 0px; padding-left: 0 0px; + margin: 0; padding-top: 0 0px; display: flex; height: 100%; - border-top-right-radius: 25px; - border-bottom-right-radius: 25px; + border-radius: 0px; + border-top-left-radius: 25px; + border-bottom-left-radius: 25px; max-width: 30px; /* Optional: Set a max-width if you want to prevent it from becoming too large */ } @@ -118,16 +116,46 @@ bottom: 0; height: 100%; width: 30px; - background-color: brown; + margin: 0; + background-color: #606060; border-radius: 0px; - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; border: 0px solid white; -} +} .remove-sin-mark-button i { - color: black; + color: white; font-size: 16px; text-align: center; /* Center the icon within its container */ } + +.evolve-mark-button { + border: 2px solid #660066;; + background-color: #cc33ff; + border-radius: 8px; +} + +.roll-sin-mark { + border: 2px solid #660066;; + background-color: #cc33ff; + border-radius: 8px; +} + +.clear-sin-marks { + border: 2px solid #660066;; + background-color: #cc33ff; + border-radius: 8px; +} + +.delete-sin-2 { + border: 2px solid #660066;; + background-color: #cc33ff; + border-radius: 8px; +} + +.sin-mark-over-size { + border-radius: 8px; + padding: 15px; +} \ No newline at end of file From 588cb742a9c61a59eda5e1892ae898a897c526ba Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 17:22:24 -0500 Subject: [PATCH 094/103] Added buttons to change XP max --- module/sheets/actor-sheet.mjs | 20 ++++++++++++++++++++ templates/actor/parts/actor-features.hbs | 18 +++++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 9c5f6f8..8aceca6 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -270,6 +270,8 @@ export class CainActorSheet extends ActorSheet { html.find('.clear-sin-marks').click(this._clearSinMarks.bind(this)); html.find('#increment-xp-value').click(this._increaseXPValue.bind(this)); html.find('#decrement-xp-value').click(this._decreaseXPValue.bind(this)); + html.find('#increment-max-xp-value').click(this._increaseMaxXPValue.bind(this)); + html.find('#decrement-max-xp-value').click(this._decreaseMaxXPValue.bind(this)); html.find('#session-end-xp-value').click(this._openEndSessionModal.bind(this)); html.find('.delete-sin-mark').click(this._deleteSinMark.bind(this)); html.find('.evolve-mark-button').click(this._evolveSinMark.bind(this)); @@ -960,6 +962,24 @@ export class CainActorSheet extends ActorSheet { console.log("Updated xp from " + oldXPValue + " to " + newXPValue ); } + _increaseMaxXPValue(event) { + event.preventDefault(); + const oldXPValue = this.actor.system.xp.max; + const newXPValue = oldXPValue + 1; + this.actor.update({ 'system.xp.max': newXPValue}); + console.log("Updated max xp from " + oldXPValue + " to " + newXPValue ); + } + + _decreaseMaxXPValue(event) { + event.preventDefault(); + const oldXPValue = this.actor.system.xp.max; + const newXPValue = Math.max(oldXPValue - 1, 1); + //No need to check for advancement when decreasing + this.actor.update({ 'system.xp.max': newXPValue}); + console.log("Updated max xp from " + oldXPValue + " to " + newXPValue ); + } + + _openEndSessionModal(event) { event.preventDefault(); console.log(this.actor); diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 0aa8242..f43021b 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -109,13 +109,25 @@
    -
    - - +
    +
    + + +
    + + From 138e69b21da422bd80c79774153f04528e789f3d Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Tue, 3 Sep 2024 17:23:25 -0500 Subject: [PATCH 095/103] fixed color --- templates/actor/parts/actor-features.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index f43021b..12c67eb 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -114,7 +114,7 @@ -
    @@ -122,7 +122,7 @@ -
    From 459e2582a66e1d2a82268186c72b4ac3e12e9014 Mon Sep 17 00:00:00 2001 From: benjo121ben Date: Wed, 4 Sep 2024 00:34:59 +0200 Subject: [PATCH 096/103] KIT points, html event shortcuts and some css --- assets/KIT/KIT-empty.png | Bin 0 -> 298 bytes assets/KIT/KIT-filled.png | Bin 0 -> 502 bytes css/cain.css | 4 +- module/data/actor-character.mjs | 2 +- .../standard_event_assignment_shortcuts.mjs | 24 ++++++ module/sheets/actor-sheet.mjs | 72 +++++++++++------- src/scss/components/_items.scss | 4 +- templates/actor/actor-character-sheet.hbs | 1 - templates/actor/parts/actor-items.hbs | 27 ++++--- templates/actor/parts/actor-sin.hbs | 8 +- 10 files changed, 94 insertions(+), 48 deletions(-) create mode 100644 assets/KIT/KIT-empty.png create mode 100644 assets/KIT/KIT-filled.png create mode 100644 module/helpers/standard_event_assignment_shortcuts.mjs diff --git a/assets/KIT/KIT-empty.png b/assets/KIT/KIT-empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8843441601387f3a691dc29e3134245836a43d59 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK3=%mav;s&m76-XIF|0c$^AgC>3h)VW1=99* z1wLs@!ZtiSa`pe*)eo)IH5V8f9&XN$is}i@oSV7&-0^Ea7p}d#<@!aC5qu>wICdnJ54z-J}<|s*a z-ZE>G=YH?7PQA(LbE40_)vf+0A;vuatAfOatM}vzn8a;*udV3WJ>#sEgRWi7huqf( zYgoTO6M1Xqa&=2;?%i4cO_p@l*;jskBK_o^xux};m`TRxpK{I&P2rm)>HVzy!9U)H g@|$&srE2}z*PiA(Xgak^9OymPx#Do{*RMF0Q*KR$3wW~5fI;l$PdovYzGCn=yYF~fszT3U=#X`N}S&d1jIp{?Dt z*U_i|000hjQchC<|NsC0|NsC0|NsC0|5r-e6aWALU`a$lR7i=XmC=&JAP7Y>c>zZL z|9cw&5m3A7EH7=HliLddxvmmW555IF@gx0~@4^H?5-*e$q!$lNc*YUFm2Rxj^wE0{ zlfdi&-~0>ADF(lRJN*y{7;%OjK47+wB3}}8I%zBal=I$8cbrSKB2IzsUohJ#UIN@n zDCRlQBJIjOig*3*o$E!o;*p@aRC5v4^uoRTM5(?S*3 zYcl;vue}GOn0`bqooUgw%An-{=sYp%x8l;alOD5(I6V6$VgJ8knHb}gnlRu4GS|TCuq|x|b~OmAwBCK}Lc2qhW?AQ$B9AWHzlVa1 zxZ`Bvyr|)$tT!T}#r`J6fVaAPtkm1p_5@e`a4{R4X02Je`nbYx<1ND`nVj~w%hTAz s;4| {await this._addAffliction(event)}); - let cat_selector_imgs = html.find('.CAT-selector') - cat_selector_imgs.on('click', this._onCATSelect.bind(this, true)); - cat_selector_imgs.on('contextmenu', this._onCATSelect.bind(this, false)); + scHtml.setLeftAndRightClick( + '.CAT-selector', + this._onCATSelect.bind(this, true), + this._onCATSelect.bind(this, false) + ); html.find('#add-agenda-ability-button').on('click', this._addAgendaAbility.bind(this)); html.find('.add-blasphemy-power-button').on('click', this._addBlasphemyPower.bind(this)); + + scHtml.setLeftAndRightClick( + '.kit-points-selection', + this._onKitPointsChange.bind(this), + this._clearKitPoints.bind(this) + ); + + scHtml.setLeftAndRightClick( + '.sinOverflow-icon', + this._sinChange.bind(this), + this._clearSin.bind(this) + ); + // New event listeners for agenda tasks and abilities html.find('.agenda-task').on('click', (event) => { @@ -1394,34 +1412,25 @@ export class CainActorSheet extends ActorSheet { }); } - _onOverflowChange(event) { + _sinChange(event) { let newValue = event.currentTarget.dataset.sin; - console.info(this.actor) - if(this.actor.system.sinOverflow.value == newValue){ - this.actor.update({ 'system.sinOverflow.value': newValue - 1}); - } - else{ - this.actor.update({ 'system.sinOverflow.value': newValue }); - } + let isEqual = this.actor.system.sinOverflow.value == newValue + console.info(isEqual, isEqual ? newValue -1 : newValue) + this.updateActor('system.sinOverflow.value', isEqual ? newValue -1 : newValue); + } + + _clearSin(_) { + this.updateActor('system.sinOverflow.value', 0); } _onKitPointsChange(event) { - const checkboxes = document.querySelectorAll('.kit-points-checkbox'); - const isChecked = event.currentTarget.checked; - let newValue = 0; - - checkboxes.forEach(checkbox => { - if (checkbox.checked) { - newValue++; - } - }); + let newValue = event.currentTarget.dataset.kit; + let isEqual = this.actor.system.kitPoints.value == newValue + this.updateActor('system.kitPoints.value', isEqual ? newValue -1 : newValue); + } - console.log(isChecked); - console.log(newValue); - - this.actor.update({ 'system.kitPoints.value': newValue }).then(() => { - this.render(false); // Re-render the sheet to reflect changes - }); + _clearKitPoints(_){ + this.updateActor('system.kitPoints.value', 0); } @@ -1995,6 +2004,13 @@ export class CainActorSheet extends ActorSheet { speaker: ChatMessage.getSpeaker({ actor: this.actor }) }); } + + async updateActor(key, value){ + let obj = {} + obj[key] = value + this.actor.update(obj); + } + _onSinTypeSelect(sinType) { const sinTypeMapping = { ogre: { diff --git a/src/scss/components/_items.scss b/src/scss/components/_items.scss index d7636ba..8490cd6 100644 --- a/src/scss/components/_items.scss +++ b/src/scss/components/_items.scss @@ -45,11 +45,13 @@ margin: 0; overflow: hidden; font-size: 13px; - text-align: left; + text-align: center; align-items: center; + justify-content: center; display: flex; h3, h4 { margin: 0; + text-align: center; white-space: nowrap; overflow-x: hidden; } diff --git a/templates/actor/actor-character-sheet.hbs b/templates/actor/actor-character-sheet.hbs index 12cdc88..abdc4ae 100644 --- a/templates/actor/actor-character-sheet.hbs +++ b/templates/actor/actor-character-sheet.hbs @@ -168,7 +168,6 @@ display: flex; position: relative; align-items: center; - border: 2px solid black; border-radius: 25px; padding-left: 2px; padding-right: 0px; diff --git a/templates/actor/parts/actor-items.hbs b/templates/actor/parts/actor-items.hbs index 385dee9..3b8a37a 100644 --- a/templates/actor/parts/actor-items.hbs +++ b/templates/actor/parts/actor-items.hbs @@ -1,8 +1,8 @@

    Kit Points & Scrip Amount

    -
    {{item.system.type}}
    {{item.system.scripValue}}
    @@ -88,21 +88,24 @@ } .item-name-header { - color: #ff0000; + color: white; + font-weight: bold; + justify-content: center; + text-align: center; flex: 2; } .item-type { - color: #00ff00; + color: white; flex: 1; } .item-name h4 { - color: #ff0000; + color: white; } .item-scrip, .item-kit-points { - color: #00ff00; + color: white; } .item-controls a { @@ -111,11 +114,7 @@ } .item-controls a:hover { - color: #ff0000; - } - - .kit-points-checkbox:checked { - background-color: #ff0000; + color: white; } .kit-points-text { diff --git a/templates/actor/parts/actor-sin.hbs b/templates/actor/parts/actor-sin.hbs index 8bdaa08..b461a89 100644 --- a/templates/actor/parts/actor-sin.hbs +++ b/templates/actor/parts/actor-sin.hbs @@ -6,12 +6,16 @@ {{#if (lt index ../system.sinOverflow.value)}} + data-sin="{{offset index 1}}" + data-tooltip="Right click to clear" + /> {{else}} + data-sin="{{offset index 1}}" + data-tooltip="Right click to clear" + /> {{/if}} {{/range}}
    From 328b3fe912ccf01fa9a33ff1b083246e689d1b60 Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Tue, 3 Sep 2024 20:15:22 -0400 Subject: [PATCH 098/103] I messed up merge two small changes to fix offset --- templates/actor/parts/actor-features.hbs | 2 +- templates/actor/parts/actor-items.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/actor/parts/actor-features.hbs b/templates/actor/parts/actor-features.hbs index 12c67eb..7b09453 100644 --- a/templates/actor/parts/actor-features.hbs +++ b/templates/actor/parts/actor-features.hbs @@ -100,7 +100,7 @@
    CAT {{@index}}
    -
    {{lookup sheetConstants.CATSessionNumbers (offset @index -1)}}
    +
    {{lookup sheetConstants.CATSessionNumbers (CainOffset @index -1)}}
    {{/times}}
    diff --git a/templates/actor/parts/actor-items.hbs b/templates/actor/parts/actor-items.hbs index 3b8a37a..f76eae1 100644 --- a/templates/actor/parts/actor-items.hbs +++ b/templates/actor/parts/actor-items.hbs @@ -2,7 +2,7 @@
    {{#range 0 system.kitPoints.max}} - + {{/range}} {{system.kitPoints.value}} / {{system.kitPoints.max}}
    From 7d8d2b7b95917dc314c2ae3969d3d154113e3bed Mon Sep 17 00:00:00 2001 From: Adam Kostandy <75499553+diabeatz96@users.noreply.github.com> Date: Wed, 4 Sep 2024 08:33:56 -0400 Subject: [PATCH 099/103] Update README.md --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f6c34f8..a8347b6 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,49 @@ - Tom Bloom Creator of Cain - My sunday DND group +## v1.1.X Update + +Version 1.1.X update is a rework of the item sheet, blasphemies, agendas, sin-marks, and afflictions. All of these items have now been itemized, and we are able to further update better automation into the system moving forward. + +Features are included but not limited too: + +- Re-work of sheet aesthetics to better fit accessibility needs. +- Re-coloring and re-designing the look of blasphmies, as well as letting you customize your own +- Kit has been re-styled and icons have been updated. +- Homebrew page for Agenda and blasphemies for easy to create home-brew content. +- Afflictions are now items, and afflictions can now be added onto sheet by dragging them on. +- Sin-mark re-haul, automatic sin-mark rolling, and improved sin-mark roll system. +- Agendas are now semi-automated. You drag an agenda onto sheet, it will automate the process of adding in agenda items. +- Blasphmies are now semi-automated, You drag blasphmies onto your sheet and it will automate the process of adding in abilities etc. +- XP managment has been vastly improved with automated xp advancment, xp maximum increase and decrease, and end of session XP bonuses. +- Added in some settings for player managment to be more accessible. + + +## Migrating to v1.1.X + +If you are coming from an older version of the system here is what you have to know: +We have completley re-worked items, and they are **Mandatory** for the new system work. Details are below when importing the new items, and remember **KEEP DOCUMENT IDS** +When updating, I highly, highly suggest deleting all of your old items and adding the new ones. +In addition to this, you may have to wipe some parts of actor-sheets. +I would take screenshots of what you had before and replicate them back to the now standard items that are needed. + +Things that will most definitley be wiped off your old character sheets are: +------------------ +1. Agendas +2. Blasphemies +3. Sin Marks +4. Afflictions + + +Overall, the rest of your game should be un-changed on the game-master side. + +As a side note, it will definitley be in a 1.2.X update where we re-haul sins and improve functionality. This may not be for some time as we perfect the player portion of the game. +If you have any questions, message in the foundry vtt channel. Thank you! + + ## Overview -Cain is an open-source project designed to streamline CAIN RPG system management within FoundryVTT. Cain enhances user experiences through customizable actors, items, and effects. The projects core functionalities, encapsulated in the `cain` module, facilitate dynamic talisman management, item roll logic, and interactive character sheet customization. +Cain is an open-source project designed to streamline CAIN RPG player, gm and system management within FoundryVTT. Cain enhances user experiences through customizable actors, items, and effects. The projects core functionalities, encapsulated in the `cain` module, facilitate dynamic talisman management, item roll logic, and interactive character sheet customization. --- @@ -81,7 +121,7 @@ Then, proceed to copy the link at the top. https://github.com/user-attachments/assets/035fbb43-5e0c-4ed6-970d-b3dd6f9d6909 -* **Creating a World** +### **Creating a World** 1. Click the "Game Worlds" button and then click "Create World". 2. Fill in info. 3. Click Create World @@ -91,15 +131,18 @@ https://github.com/user-attachments/assets/035fbb43-5e0c-4ed6-970d-b3dd6f9d6909 https://github.com/user-attachments/assets/88cb39a3-a235-4c6b-9f56-ebfbcff463fa -* **Importing Compendium Information** +### **Importing Compendium Information** * Go to Compendium tab (Book with world looking icon). -* Right click on each pack and click import content, then click yes. -* Items are in items tab, Rollable tables are in Rollable tables tab. +* Right click on each pack and click import content, **CLICK KEEP DOCUMENT IDS** then click yes. + + +**YOU MUST KEEP DOCUMENT IDS, THIS IS CRITICAL TO THE SYSTEM WORKING AS INTENDED.** + +https://github.com/user-attachments/assets/464240a1-7d6c-49f0-b68e-6415b091d353 -https://github.com/user-attachments/assets/f8bb07fc-d305-42a3-97b3-d1dedd0cbfb2 ## Investigations From 00a0f2c5baf507967a63222cbbdf6bad0687c688 Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 4 Sep 2024 14:06:21 -0500 Subject: [PATCH 100/103] Patched packs to update names and add misc tasks for Agendas. Also added a button that lets players add customa agendas. --- module/documents/homebrew-window.mjs | 12 +-- module/sheets/actor-sheet.mjs | 69 +++++++++++++++++- packs/afflictions/000005.ldb | Bin 12113 -> 0 bytes packs/afflictions/000043.ldb | Bin 0 -> 12032 bytes packs/afflictions/{000008.log => 000045.log} | 0 packs/afflictions/CURRENT | 2 +- packs/afflictions/LOG | 6 +- packs/afflictions/LOG.old | 21 ++++-- packs/afflictions/MANIFEST-000007 | Bin 121 -> 0 bytes packs/afflictions/MANIFEST-000044 | Bin 0 -> 157 bytes packs/agenda2/000069.ldb | Bin 34340 -> 0 bytes packs/agenda2/000144.ldb | Bin 0 -> 39881 bytes packs/agenda2/{000109.log => 000146.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 +- packs/agenda2/LOG.old | 26 ++++++- packs/agenda2/MANIFEST-000108 | Bin 191 -> 0 bytes packs/agenda2/MANIFEST-000145 | Bin 0 -> 194 bytes packs/blasphemy2/{000095.ldb => 000148.ldb} | Bin 53864 -> 53881 bytes packs/blasphemy2/{000113.log => 000150.log} | 0 packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 6 +- packs/blasphemy2/LOG.old | 26 ++++++- packs/blasphemy2/MANIFEST-000112 | Bin 191 -> 0 bytes packs/blasphemy2/MANIFEST-000149 | Bin 0 -> 198 bytes packs/items/{000109.log => 000143.log} | 0 packs/items/CURRENT | 2 +- packs/items/LOG | 6 +- packs/items/LOG.old | 10 ++- .../{MANIFEST-000108 => MANIFEST-000142} | Bin 156 -> 158 bytes packs/sin-marks/{000026.log => 000060.log} | 0 packs/sin-marks/CURRENT | 2 +- packs/sin-marks/LOG | 6 +- packs/sin-marks/LOG.old | 10 ++- .../{MANIFEST-000025 => MANIFEST-000059} | Bin 156 -> 156 bytes packs/tables/{000105.log => 000139.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 6 +- packs/tables/LOG.old | 11 ++- .../{MANIFEST-000104 => MANIFEST-000138} | Bin 267 -> 269 bytes templates/actor/parts/actor-abilities.hbs | 13 ++-- 41 files changed, 188 insertions(+), 58 deletions(-) delete mode 100644 packs/afflictions/000005.ldb create mode 100644 packs/afflictions/000043.ldb rename packs/afflictions/{000008.log => 000045.log} (100%) delete mode 100644 packs/afflictions/MANIFEST-000007 create mode 100644 packs/afflictions/MANIFEST-000044 delete mode 100644 packs/agenda2/000069.ldb create mode 100644 packs/agenda2/000144.ldb rename packs/agenda2/{000109.log => 000146.log} (100%) delete mode 100644 packs/agenda2/MANIFEST-000108 create mode 100644 packs/agenda2/MANIFEST-000145 rename packs/blasphemy2/{000095.ldb => 000148.ldb} (97%) rename packs/blasphemy2/{000113.log => 000150.log} (100%) delete mode 100644 packs/blasphemy2/MANIFEST-000112 create mode 100644 packs/blasphemy2/MANIFEST-000149 rename packs/items/{000109.log => 000143.log} (100%) rename packs/items/{MANIFEST-000108 => MANIFEST-000142} (81%) rename packs/sin-marks/{000026.log => 000060.log} (100%) rename packs/sin-marks/{MANIFEST-000025 => MANIFEST-000059} (82%) rename packs/tables/{000105.log => 000139.log} (100%) rename packs/tables/{MANIFEST-000104 => MANIFEST-000138} (71%) diff --git a/module/documents/homebrew-window.mjs b/module/documents/homebrew-window.mjs index a31f725..cd706a6 100644 --- a/module/documents/homebrew-window.mjs +++ b/module/documents/homebrew-window.mjs @@ -193,10 +193,10 @@ export class HomebrewWindow extends Application { async _onSubmitBlasphemy(event) { event.preventDefault(); - let blasphemyFolderFolder = game.folders.find(f => f.name === "Blasphemy Data" && f.type === "Item"); + let blasphemyFolderFolder = game.folders.find(f => f.name === "Blasphemies" && f.type === "Item"); if (!blasphemyFolderFolder) { blasphemyFolderFolder = await Folder.create({ - name: "Blasphemy Data", + name: "Blasphemies", type: "Item", folder: null, // Set a parent folder ID if nesting is desired sorting: "m", // 'm' for manual sorting, 'a' for alphabetical @@ -216,7 +216,7 @@ export class HomebrewWindow extends Application { let blasphemyPowerFolder = game.folders.find(f => f.name === (this.blasphemyOptions.name + " Powers") && f.type === "Item"); if (!blasphemyPowerFolder) { blasphemyPowerFolder = await Folder.create({ - name: "Blasphemy Powers", + name: (this.blasphemyOptions.name + " Powers"), type: "Item", folder: blasphemyFolder.id, // Set a parent folder ID if nesting is desired sorting: "m", // 'm' for manual sorting, 'a' for alphabetical @@ -329,7 +329,7 @@ export class HomebrewWindow extends Application { async _onSubmitAgenda(event) { event.preventDefault(); - let agendaFolderFolder = game.folders.find(f => f.name === "Agenda Data" && f.type === "Item"); + let agendaFolderFolder = game.folders.find(f => f.name === "Agendas" && f.type === "Item"); if (!agendaFolderFolder) { agendaFolderFolder = await Folder.create({ name: "Agendas", @@ -349,7 +349,7 @@ export class HomebrewWindow extends Application { }); } - let agendaTaskFolder = game.folders.find(f => f.name === ( + " Tasks") && f.type === "Item"); + let agendaTaskFolder = game.folders.find(f => f.name === (this.agendaOptions.name + " Tasks") && f.type === "Item"); if (!agendaTaskFolder) { agendaTaskFolder = await Folder.create({ name: (this.agendaOptions.name + " Tasks"), @@ -362,7 +362,7 @@ export class HomebrewWindow extends Application { let agendaAbilityFolder = game.folders.find(f => f.name === (this.agendaOptions.name + " Abilities") && f.type === "Item"); if (!agendaAbilityFolder) { agendaAbilityFolder = await Folder.create({ - name: "Agenda Abilities", + name: this.agendaOptions.name + " Abilities", type: "Item", folder: agendaFolder.id, // Set a parent folder ID if nesting is desired sorting: "m", // 'm' for manual sorting, 'a' for alphabetical diff --git a/module/sheets/actor-sheet.mjs b/module/sheets/actor-sheet.mjs index 58abb74..de9915d 100644 --- a/module/sheets/actor-sheet.mjs +++ b/module/sheets/actor-sheet.mjs @@ -304,6 +304,7 @@ export class CainActorSheet extends ActorSheet { html.find('.remove-blasphemy-button').on('click', this._removeBlasphemyButton.bind(this)); html.find('.remove-blasphemy-button').on('click', this._removeBlasphemyButton.bind(this)); html.find('.remove-affliction-button').on('click', this._removeAfflictionButton.bind(this)); + scHtml.setLeftClick('.add-task-button', this._addNewTask.bind(this)); html.find('.add-affliction-button').on('click', async event => {await this._addAffliction(event)}); @@ -918,10 +919,10 @@ export class CainActorSheet extends ActorSheet { } }, {height: 500}); if (dialogResult === 'cancel') return; - let afflictionFolderFolder = game.folders.find(f => f.name === "Affliction Data" && f.type === "Item"); + let afflictionFolderFolder = game.folders.find(f => f.name === "Afflictions" && f.type === "Item"); if (!afflictionFolderFolder) { afflictionFolderFolder = await Folder.create({ - name: "Affliction Data", + name: "Afflictions", type: "Item", folder: null, // Set a parent folder ID if nesting is desired sorting: "m", // 'm' for manual sorting, 'a' for alphabetical @@ -954,6 +955,70 @@ export class CainActorSheet extends ActorSheet { } + async _addNewTask(event) { + event.preventDefault(); + console.log("adding task"); + const dialogResult = await Dialog.wait({ + title: "Add Task", + content: `

    This lets you create a new task. If you or your Admin has an existing one in mind, they should add by dragging it to you sheet.

    +
    +
    + +
    `, + buttons: { + submit: { label: "Submit", callback: (html) => { + const formElement = html[0].querySelector('form'); + const formData = new FormDataExtended(formElement); + const formDataObject = formData.object; + return formDataObject; + }}, + cancel: { label: "Cancel" }, + } + }, {height: 500}); + if (dialogResult === 'cancel') return; + let agendaFolderFolder = game.folders.find(f => f.name === "Agendas/Tasks" && f.type === "Item"); + if (!agendaFolderFolder) { + agendaFolderFolder = await Folder.create({ + name: "Agendas/Tasks", + type: "Item", + folder: null, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + + let agendaFolder = game.folders.find(f => f.name === "Misc Tasks" && f.type === "Item"); + if (!agendaFolder) { + agendaFolder = await Folder.create({ + name: "Misc Tasks", + type: "Item", + folder: agendaFolderFolder.id, // Set a parent folder ID if nesting is desired + sorting: "m", // 'm' for manual sorting, 'a' for alphabetical + }); + } + const createdTaskData = { + name: dialogResult.task, + type: "agendaTask", // Ensure this matches the item type defined in your game system + img: "icons/svg/item-bag.svg", + folder: agendaFolder.id, // Assign the item to the folder + system: { + task: dialogResult.task, + isBold: dialogResult.isBold + } + }; + const createdTask = await Item.create(createdTaskData); + const boldTaskList = this.actor.system.currentBoldedAgendaTasks; + const unboldTaskList = this.actor.system.currentUnboldedAgendaTasks; + if (dialogResult.isBold) { + boldTaskList.push(createdTask.id); + } else { + unboldTaskList.push(createdTask.id); + } + this.actor.update({ + 'system.currentBoldedAgendaTasks': boldTaskList, + 'system.currentUnboldedAgendaTasks': unboldTaskList, + }); + } + _removeAgendaTask(event) { event.preventDefault(); const index = event.currentTarget.getAttribute('data-index'); diff --git a/packs/afflictions/000005.ldb b/packs/afflictions/000005.ldb deleted file mode 100644 index 82cf859480a586d81cb7e27d5df727f3d1141983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12113 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 diff --git a/packs/afflictions/000043.ldb b/packs/afflictions/000043.ldb new file mode 100644 index 0000000000000000000000000000000000000000..c4c4f4284ab8a666ceb41b964ff47e20f36b90e6 GIT binary patch literal 12032 zcmdUV3v?Uho$q`z8hK>N6WKV99h@*W4mF?%Nq(!Y8~Oc^--`Soq#0>O(%90BJR@0_ zAvB>&m*w5GEJ=DxF}G$(cS}%1eCBKs#-}?dt0w3+&2>Ls){xawW)|C zX!O9fr7|B8OP!@|MHM(#AP|=PF-eiNQcJ0(s4+D%N#(iMH12 z3Rib^GrST@Mp3h^BPK>*=Sz|R?`lwqGT0GB&96#Pw2OgbIldF6PMf9FuY?t~)G5cq zVffZCAJj^n*Y1W-YB4^B|Au!&qM|HF@yMVOSN&q{R!)dV;mr7$SiONL^DC<8g=>-& zG@fsFSSu>*Xd*wU!5MU*drf{`lGo>Lx^kPX%V%<3F(Xx8$KnyV)KM8 zP#2q?8dt|UR77w2THQWVhoFR0`%v{hY3_FR7}MX1E1uYL^&o!ML~4lgX&@g|NL{hh6FKo4re%}t@;|h*Fimp>JBH%8ooq~eHEo{Tpsot%PMQCYOC#)6_u8K9{t|On`5=D@hVS? zKa}hjwb6-jq<7wk7>~lIewS7KyDWUV`w>x{Ia&LGE3%o}|1}G)Iz>*kE7g8`hgdl> z;f{AieTc$W-LAyt)In5z5H)DT*g-^8z~0h$`yg_EN+z3<$qAv?=TbtogLR=Eq;nob zOm9$4_3Nwq^~+OKnfafuA3$NW`6Mkt4QM4cSQBZ}ss(EBtNEV>*AKD{z?D8%#w5 zL{C9QPQx@&R6;a6PMM;;vR~wQPVSMTT? z8`h@!Jb{tgspj5b7bR zuE=m(LUEW(3vDTn@JUWoc}?UT6Pt(*L#tU(EL?Q5oHB6{ew;r@_Z4$dcvC=8(bqXi znkI`s7#eW|5GGm~gDkk6u;jJ_0y(b^u5+g3zPnRqeU~OO^)GkV~ zNi7i{n;MLwD*FV5)Q*my}f6@{p~#mIG8q7(#9>zvt{SH z`mFGkf@pOSmGH+(xdDWuL(H0bt6i!$d=h8ZTS@6kxs{b-pkJbhDB1yUOjjI+{j0B8 zVw_T^1JLuFk}G*?spMj5{#b*}xCB=d3G&>umPb}d=WH@5ULli`*NdH{%VhE{kt}(D z=s-sq;F6LL4d*2j*S53Cq{4n4GBIH?Y5gs+WB2Z?!dvyOX@}G^IMF@rj(Gb!1`^2B z^6ixR9d7teh)F+sc5EVS%Zf6f<1x z<|KHHS0kce;rOtoa4}dSd25(sZ>vUeeufaYGiemQ{~-~03Y`#aerv>bJX1HboCUm z^D-*mgRfy+dOjash0}5UiV2HB{tZ4mr;dS(-~RMdT3AWIb^D;$V6}3wxGH1#m1Mxp zAP_-Jkwtu2s^W*5j%#so+6*c~jiGW=Kvg32)wKYNG2Ra_3>pC@T={)pJGxzW6H7+2@k`{tB1hW&fAdN_hdvshy z{NBQj0Ne&i%Q16YLWze3IIsVcC^1X-=hRn9GA0Xw)8c@*D!tCe10DzVIuGlGJvHl1>icD8IFI-3^N~4q!(Nta#{q65F;piaWFV4=pID75`edlgsCry^g7fteR9ycQP4 zC>IAs7w#<5&wf}BUjd6X1~m>vG%m`iMRIYGbp8l=7fBF!C+N)ZouJQ9l4Hld$KSaW zDCrw3l+-@lThXTa+C8nqp6;YSfIbJ5v?D`FgGyM6YLbREJf@?IK7)>i&Pzv4=gx+T zncy5cYMmsCHf88&`lPee!$XZYpu#b_U|fm9`jq@ql*i@+>W_nk5=khyLRC%^WAW%R zCAIv2r=;+IcS@@N&r#9=x?|9#xvGb|CS=d>NNZCs%5M4o$YG{4uDNJ}ck%BZCM(Z1 zj;PnLP;$q}*Sil}@x81*Ouk$H8M2iF)f$bbVKM>hR}^Hp)oBR}^&vPG$A9NDgoxge9xU;bhB?nl&*T;DVTNue5VbE{~P#v=W8zHc*Wkswspe zikTEO6I%`T)NACzYozlV$om>eRLB zU1b+$=1c;g6wvE7j`t~Xtd3!oX#DyzE`ccomPpL{O(u1UTmZi}i@c{u!anmP>}STn zDLkEvboXdoWUM#Z*eJEO*LaiYQs+sM8w!Dd<+_#d-nP>}rR!JQu*rWW9SLIRn`HiA z6fRNVZzK}*{gsm<@LAf)_?39j^_U5kt&o?KUCc!weZU;@^=vn!3RZ3~?u)6IZ|xi= z;F+JAFmL94$!Nw(R6`!%crNEUohTTFxAC&9!~n`;7EVwldECNZWQv1`XSbO0LE8Jm zVro4F!}&5AT~C>96?Q0`n~j;_z1ir#F{`(Ia=3j0F0wYsyy=H>cWNEJa$VK0EyQ-rv$%wOyxo%pc`CrUW#GA!CF8b zd~pW={C!+UfZkEe%Ni6emz>v7c;j}1sTs~`Utm-50Xs3uxFKl1O;u$OgWanB5K6;K21?r9wC89 z(i?LNqPU2m@Ieg2bjx5swRB=--66Z=WYHa!SOH8bVIXu~mBKkqCaef^=kwu=f$I#r zY@j=r#Wv?lqKnEwmB+!Tr-6||t2|eUa^arqvIwq6B!_}SOJipa<$jp<_~e$F%Ba{iF&^^P z4Gf_IXAWg<1bHjC%9)m=nEEw6H*COSc^x(BF))CedBX-B$5&e@c9tP{{t6Qg#x@oi zQZJDUFOdzmAn!|{d1u~8{S%!T1OG$=n>|R6k2Wff9&x0$vTdv}(umeMUnDIqza((Y zVo(L9V!N2dA29W+Gt|jn(bz=1LKd%>pq6h{cJ*;m1pKcAv2i$=S81AgHMg{2mYID8 zqyFrP)N|zGbENaD$om}7YigFsjImk9{g3qa!Pbh=eotGnu|f&iBT8O1~3MHp}j>c&P8362eWx&2&f-E%z?hY$_ zY!~uB!!8WpbiVXzRnCEWxr|%b1ld(*f+&h+%)+&II!j&Q1fSG6P#K_gfRM2}fRtdx z;KEdK$Xp(ct5F3M6pjozcP8(Mrd8n*v<|QF4nMhYXstdUwC+Xw)6j}p@SHdcSQZxg z+1Oh3U%}S@be?tktUPPW;~8`{oF83X{TGa`=``zy^iW8RwbrPEu~2naL>%BzdCSuy z&lKa-W(cHc$!({PlB?bEQF2p!=REo23or~?NJ*q)27peqsT>D1;DFUwDA|3i7!q16 zaAbbH3HylDF>>J;*>EfJ9>Z?_CD_l5(PO0hRhsYj4|Yy>b%Y}hb-1<4jW#=vk;P4t z>c@fojW6k%RcX)Z*U2?p5PxfLXyl3SeQPO^o~8FUEvZr;gs1_4`m_L8>rlCyjZ_)V z{6R-z@Xs};g?j2e^7MOT$9oOmL*DmD9Zot^^K@o-=V|wCwBYI1_=#9YSG==Voa$*t zrOx-rS+_})f}zw=dhS#jIo={~K0-1ODx?mPrw@@GhZ;oWJ+xw<4v}zpX$%~~djAlu z^*497is6{l?d={+w4)s717z(0?pOe$H9-sp3Op5M9;z^6Tk;T@-yO$64@+lrpw^ef z4|^?R$b&o%ByJ>c&}fF#va4^i*GP;Pc#Wx@%)(BF5S)9_&ZkMZvIw0S-U#hJl@*v! zwJNn~s-vc&y236Eqg>}RB#;8Q1$HN6as}h!;!(186-LiISx{~o7-2A1%#$440Gx(E z_J0!#K7su-#{>~mh?PvNhshI}lMwtv&}0QK12i81ZiWCY9)(Oh36QXq6>AW{U;-33=Zhc&BRrqg$1RgTCc(6?R53H$&CK7&Vf`jRb{NaM z$H3q|O?$dc(U?;XJd5*nyHIUGHrtt)9cm%>E=J>`n>U!uX{A|oS78Y744eji2g3_v z{Le7^3X;bAq#F|iZ-^}imy;$Lv}W$L^sfmC-DAVjp9{ocS%BIvh_E^UP+EL6Is zf!$?7ih+(!_l^K6(xFk>8ZReF7W(pLtm-p$y+jJvtRaP;UN|Xy{(PkH)jt&|*;n^C zoPQBc_`_M806mWR3@fmh70SrG8G{_w%$~eUUV$mub$XJJ-0jaGJw$Ko6@3 zH%KrOWOcj^Rw@F0hz=ZzE(QP4fDdm?hs_`eT-RQQgKNC1`Dhe$5f66G%AMV+H7Lyz zd?uaGLbCugmIyw-3wr49qG-`w_28(XlY)g8R>r(WZze)0xPF@nLYV+Ms*{7jND;h3 zp~nX+ulmcB8P`{YzY~3!Gj76wkh+^%xSMJiB)xZ2=87870B|HT2JWT+l)p#&#v|Hv zo4bV%)VO^uy=bHJZz)R~F9*XC&$U9EZa)9?-BkT*KYZ7HGnYq3!J!=Yr@PVB0X^Y* z?li#R_CFRvQ~}o?Ko6BcW5NPp2>FTYBNK)q@gM|U5VPW5h3k)L_IQ?De3pcU{^+yh z{La*~WM;sD_M2&CC^XUJm8G8cNwKrH3l%$`CDRTu6OJ)Wf0~7Rbbl9EjAM(ilSnu%k6yM`OS2^#8 z)CunWBtJthKCm`Xn;fTcHuYVSafQSG`pKbPEWzY2Md_}G*ivTW?~P?}hagABZOz%Z z8Bjw>(3i5;FzpZkF7@o;ep@*Ycyz9y%Q$lfAatUc^jRZre`IVcbAb#Mn!hWRPYsJN>455sfM4TQ9YHKV=}`x$D9HFze5+@ z@DmLD2UdVzwzoyyO%w61j*v1Y2oZGAIl%9RTooh`Gz9;jfPWR;$KcB{HXz-@UIqN` z)&uhY`3EI%xpiSz-UEIUS9~~mCU0(E1M}azaG1aBd@w)pr?h`s`k$lyxBNwL{>^i7 z{vTFwzT}U8LjAigSpBE7mEY6TgNe3kpSMS8sj3*O3!=+$E4x139|LRF39=HBz+}lc z-Z=v8>{VT%Dz@aVk^j+s1dMl4ne!>~#5pwHhVu*i4rq|Bbc6t6lS@hpD^GYY?^e>nTa^Jc_(}im2deIFcCy zdJ0zQBedeTB`3W8?rC*;BFKja&?aa)mN$lZP#EqwMC^;?+MsBXq;RkLQ_?*MM1#W> z+%Qh0V-n6s|Dah5<0KTcA(SFe709u@_iw}5-?D^EH<>k5YjEKd7ieStUP4H{M!)?U z-EbQ`oHOtm4f(=Z8PV8r()~MHwX1#os@81}PPh4n;$D>RJWg70q6G!-hXg@N{gOO# z2jc|A{3=P8ThdK$je~SK9Cp10IkN!s8H*uPx(z;aVh_k^oa=Dq_N@*l=TZS~Dz;WS zfh~d-uG-0kP*pQdy%Z&OIb6Aw3c*C$3x@Oj%0_sTWr)2=Y%&7bhM|A(GMM?i()%JB8kS?M{D8iU^+k$gGz&> zbmp)QV*jr&9DwtZZrk_*L*ddB z3YM1N=Wej!27IRH4o%gCMY3To-Bh*by=qLoa%S|rVuT9$8+~lJ+iy$6w@Z_CbTzK`pEzihKj|H9)TT zKmN^~HyzVYRJH~;@UcpL;}(v)_q$h+di==Yde}C@_Bq&UVA}>;2W&>-Uz)dN5v3Gh zAgEJo7?wj=@L3znJf$86}Z_g>(K=kEq$iJcRaTAf7Yt?P{1#m7~VQYqM2W%Q_2Vgr4 i8v`5S@Bi!GkFK`;!;Wv`=Pm#I&(J4(ZYhhmz40Gn2TOeb literal 0 HcmV?d00001 diff --git a/packs/afflictions/000008.log b/packs/afflictions/000045.log similarity index 100% rename from packs/afflictions/000008.log rename to packs/afflictions/000045.log diff --git a/packs/afflictions/CURRENT b/packs/afflictions/CURRENT index 875cf23..e146ef6 100644 --- a/packs/afflictions/CURRENT +++ b/packs/afflictions/CURRENT @@ -1 +1 @@ -MANIFEST-000007 +MANIFEST-000044 diff --git a/packs/afflictions/LOG b/packs/afflictions/LOG index 2b183d1..467d87c 100644 --- a/packs/afflictions/LOG +++ b/packs/afflictions/LOG @@ -1,3 +1,3 @@ -2024/09/02-21:50:17.532 303c Recovering log #6 -2024/09/02-21:50:17.538 303c Delete type=0 #6 -2024/09/02-21:50:17.538 303c Delete type=3 #4 +2024/09/04-14:04:37.278 8cdc Recovering log #41 +2024/09/04-14:04:37.284 8cdc Delete type=0 #41 +2024/09/04-14:04:37.284 8cdc Delete type=3 #38 diff --git a/packs/afflictions/LOG.old b/packs/afflictions/LOG.old index 45f8c38..3b1a1f2 100644 --- a/packs/afflictions/LOG.old +++ b/packs/afflictions/LOG.old @@ -1,5 +1,16 @@ -2024/09/02-21:33:33.798 1870 Recovering log #3 -2024/09/02-21:33:33.798 1870 Level-0 table #5: started -2024/09/02-21:33:33.801 1870 Level-0 table #5: 12113 bytes OK -2024/09/02-21:33:33.807 1870 Delete type=0 #3 -2024/09/02-21:33:33.807 1870 Delete type=3 #2 +2024/09/04-14:04:33.287 b708 Recovering log #37 +2024/09/04-14:04:33.287 b708 Level-0 table #39: started +2024/09/04-14:04:33.290 b708 Level-0 table #39: 494 bytes OK +2024/09/04-14:04:33.296 b708 Delete type=0 #37 +2024/09/04-14:04:33.296 b708 Delete type=3 #36 +2024/09/04-14:04:35.409 b604 Level-0 table #42: started +2024/09/04-14:04:35.409 b604 Level-0 table #42: 0 bytes OK +2024/09/04-14:04:35.411 b604 Delete type=0 #40 +2024/09/04-14:04:35.417 b604 Manual compaction at level-0 from '!folders!CHGOTlPYlK5pBWGr' @ 72057594037927935 : 1 .. '!items!zq3ZAjo5qoJIYj24' @ 0 : 0; will stop at '!folders!eJFe9MKe0F63AM6D' @ 51 : 1 +2024/09/04-14:04:35.417 b604 Compacting 1@0 + 1@1 files +2024/09/04-14:04:35.420 b604 Generated table #43@0: 49 keys, 12032 bytes +2024/09/04-14:04:35.420 b604 Compacted 1@0 + 1@1 files => 12032 bytes +2024/09/04-14:04:35.422 b604 compacted to: files[ 0 1 0 0 0 0 0 ] +2024/09/04-14:04:35.422 b604 Delete type=2 #13 +2024/09/04-14:04:35.423 b604 Delete type=2 #39 +2024/09/04-14:04:35.432 b604 Manual compaction at level-0 from '!folders!eJFe9MKe0F63AM6D' @ 51 : 1 .. '!items!zq3ZAjo5qoJIYj24' @ 0 : 0; will stop at (end) diff --git a/packs/afflictions/MANIFEST-000007 b/packs/afflictions/MANIFEST-000007 deleted file mode 100644 index bcb3200f3ca7811bc10126e3ee699860be9088e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmdl`{_bTm10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei1tZ>%}-l#kBmKl+>bP zMQ0Cp|B#%3$Q*Ce0;h2IB1R?#FpyWwEJ@8RR;(&Cj&jV(H!aNf@{G(fGGP>e$ag*o R7UE!FWa8jtVCG~o0sxLWA>9A~ diff --git a/packs/afflictions/MANIFEST-000044 b/packs/afflictions/MANIFEST-000044 new file mode 100644 index 0000000000000000000000000000000000000000..e98c7dd7c6ec311d30bcdf3dba4ab8bc58f3d445 GIT binary patch literal 157 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 4440 bytes +2024/09/04-14:04:35.391 b604 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/09/04-14:04:35.392 b604 Delete type=2 #139 +2024/09/04-14:04:35.394 b604 Manual compaction at level-0 from '!items!ziHxuZGd4tYphRNx' @ 524 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at (end) +2024/09/04-14:04:35.402 b604 Manual compaction at level-1 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at '!items!ziHxuZGd4tYphRNx' @ 524 : 1 +2024/09/04-14:04:35.402 b604 Compacting 1@1 + 1@2 files +2024/09/04-14:04:35.407 b604 Generated table #144@1: 196 keys, 39881 bytes +2024/09/04-14:04:35.407 b604 Compacted 1@1 + 1@2 files => 39881 bytes +2024/09/04-14:04:35.409 b604 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/09/04-14:04:35.409 b604 Delete type=2 #69 +2024/09/04-14:04:35.409 b604 Delete type=2 #143 +2024/09/04-14:04:35.417 b604 Manual compaction at level-1 from '!items!ziHxuZGd4tYphRNx' @ 524 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at (end) diff --git a/packs/agenda2/MANIFEST-000108 b/packs/agenda2/MANIFEST-000108 deleted file mode 100644 index adbab2b937b807f768a6559cc05b7e802753ea6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmYc)Ub<)n10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei18!ykcfaYHqP&Rg_ym zqEl#aP;t3`X0E3>Lm(pq2(U8ZQo*(b>nDdL)a56A5<#IAG=dt`@1^}B0HCF%t diff --git a/packs/agenda2/MANIFEST-000145 b/packs/agenda2/MANIFEST-000145 new file mode 100644 index 0000000000000000000000000000000000000000..e028071981ab9cf9002452c2ef3e0ca319999a8f GIT binary patch literal 194 zcmeyi;O4`X42+CYIjLo-IVnkcPL(C8<(b8)&iT0oiA9Me`9-V@@`{-yskz09Rhb?Y zrBUuFCMA&t89{y(j66&XAi&BOc^D;dE?5i&@VZR!GU21ceyjGPS2lNnj2vj6~3j5f6Z literal 0 HcmV?d00001 diff --git a/packs/blasphemy2/000095.ldb b/packs/blasphemy2/000148.ldb similarity index 97% rename from packs/blasphemy2/000095.ldb rename to packs/blasphemy2/000148.ldb index f5e720a3978699c78cc3f6e69314e9cc31462c0f..185612850e4d512b0ca8d663ab8e1c65869b3ab8 100644 GIT binary patch delta 563 zcmaE{g!$(ZX5TeR4GfAenH1CVb5c@^iWLolDhv&b%PcK@LfrCwLjo8*nHU%uQ>vBn z5_40PtdyK`5{nBmQgbs?iiHlydV^GSf0sWo2zl%uOxKEKH0Hb(AK{Fj|PW zShnhfr6!l;7byhfm!}pfwp(U1B-&2SVN};roM5|l+62ac4@_o8nLdtweokoyd2SUJ zPL7QC7|kXy^0=mCmN*)Pelps;g;9cuMPpsL-R29-;b(--&SgHx!~g`0AVT5ki>H$< zFR0buVP_Cx5mo2NW&F>{X!DSLIy-|Pi()3wPsNJH$$}C*fB9AjNJ_AnI|13N zo6LVvhVkfRor^NTEk77n3o!@@E@R2|6+IxZrHg5cu;fRETvJYgw{w}U3Q0z}B`fyG@+TZAP)GUS?a3f!5? zbX7<)$|bMD%RAB0#mCsQ$kf;+-I!6EGfH6F2By10k`63Ixq=4;W*lbPDJUt)QW_vA z$#ZS;nv2qszn(GumW^bo@)dMY`1O 492 bytes +2024/09/04-14:04:35.402 b604 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/09/04-14:04:35.402 b604 Delete type=2 #143 +2024/09/04-14:04:35.417 b604 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 585 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/09/04-14:04:35.423 b604 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!folders!0Rx103v99LTFoMTP' @ 585 : 1 +2024/09/04-14:04:35.423 b604 Compacting 1@1 + 1@2 files +2024/09/04-14:04:35.428 b604 Generated table #148@1: 109 keys, 53881 bytes +2024/09/04-14:04:35.428 b604 Compacted 1@1 + 1@2 files => 53881 bytes +2024/09/04-14:04:35.430 b604 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/09/04-14:04:35.430 b604 Delete type=2 #95 +2024/09/04-14:04:35.430 b604 Delete type=2 #147 +2024/09/04-14:04:35.434 b604 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 585 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) diff --git a/packs/blasphemy2/MANIFEST-000112 b/packs/blasphemy2/MANIFEST-000112 deleted file mode 100644 index b580fd389352454e7d5152f5af405b1094b6b0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmX@zR4urIfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?Dl^k9 z*}}}gH7YSLv8=?9;T9tU2(U8ZQo$(01XjV$6#rrgv!Y^JeojhiQL&;yP=%p^ahav1 iPl#K-Z%6>+9f(PU%*j>^S;)!2$W+M5z+A*~f&~C^ZjZcj7ZOs7@2H18JKNZx)=dv)CSl9 delta 23 ecmbQkIEQgUj{v*p8+J|xMkXmv24-oNE=B-F)&zzC diff --git a/packs/tables/000105.log b/packs/tables/000139.log similarity index 100% rename from packs/tables/000105.log rename to packs/tables/000139.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index c8e9be6..448b6f3 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000104 +MANIFEST-000138 diff --git a/packs/tables/LOG b/packs/tables/LOG index 70c84d0..dd1cf1a 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,3 +1,3 @@ -2024/09/02-21:50:17.513 8644 Recovering log #103 -2024/09/02-21:50:17.518 8644 Delete type=0 #103 -2024/09/02-21:50:17.519 8644 Delete type=3 #102 +2024/09/04-14:04:37.258 b708 Recovering log #136 +2024/09/04-14:04:37.264 b708 Delete type=0 #136 +2024/09/04-14:04:37.264 b708 Delete type=3 #134 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index 3fa234e..d489aee 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,3 +1,8 @@ -2024/09/02-21:33:33.779 746c Recovering log #101 -2024/09/02-21:33:33.784 746c Delete type=0 #101 -2024/09/02-21:33:33.785 746c Delete type=3 #100 +2024/09/04-14:04:33.268 37e4 Recovering log #133 +2024/09/04-14:04:33.274 37e4 Delete type=0 #133 +2024/09/04-14:04:33.275 37e4 Delete type=3 #132 +2024/09/04-14:04:35.381 b604 Level-0 table #137: started +2024/09/04-14:04:35.381 b604 Level-0 table #137: 0 bytes OK +2024/09/04-14:04:35.383 b604 Delete type=0 #135 +2024/09/04-14:04:35.392 b604 Manual compaction at level-0 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) +2024/09/04-14:04:35.394 b604 Manual compaction at level-1 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) diff --git a/packs/tables/MANIFEST-000104 b/packs/tables/MANIFEST-000138 similarity index 71% rename from packs/tables/MANIFEST-000104 rename to packs/tables/MANIFEST-000138 index 2088ada67fed882d6b1a9b93f94f60e8a23fc84f..a3662ce0be5af6786b42c7545c8ea9ec21761420 100644 GIT binary patch delta 25 gcmeBX>SdbnTc|Tttcsg~k*S-JlYzO1k!2|(0ABV66#xJL delta 23 ecmeBW>SmhoTi{Tn_AgEbMy5 {{/each}} +
    @@ -91,12 +92,12 @@
    - - + +
    From fd3d098231810b8be95634e87b1cec77e79ee49f Mon Sep 17 00:00:00 2001 From: "ahandleman@wustl.edu" Date: Wed, 4 Sep 2024 18:42:35 -0500 Subject: [PATCH 101/103] Updated to use range instead of distance_ --- module/cain.mjs | 32 +++++------------- packs/afflictions/{000045.log => 000047.log} | 0 packs/afflictions/CURRENT | 2 +- packs/afflictions/LOG | 6 ++-- packs/afflictions/LOG.old | 19 ++--------- .../{MANIFEST-000044 => MANIFEST-000046} | Bin 157 -> 157 bytes packs/agenda2/{000146.log => 000148.log} | 0 packs/agenda2/CURRENT | 2 +- packs/agenda2/LOG | 6 ++-- packs/agenda2/LOG.old | 26 ++------------ .../{MANIFEST-000145 => MANIFEST-000147} | Bin 194 -> 194 bytes packs/blasphemy2/000152.log | Bin 0 -> 231299 bytes packs/blasphemy2/CURRENT | 2 +- packs/blasphemy2/LOG | 6 ++-- packs/blasphemy2/LOG.old | 26 ++------------ .../{MANIFEST-000149 => MANIFEST-000151} | Bin 198 -> 198 bytes .../000150.log => items/000145.log} | 0 packs/items/CURRENT | 2 +- packs/items/LOG | 6 ++-- packs/items/LOG.old | 10 ++---- .../{MANIFEST-000142 => MANIFEST-000144} | Bin 158 -> 158 bytes .../000143.log => sin-marks/000062.log} | 0 packs/sin-marks/CURRENT | 2 +- packs/sin-marks/LOG | 6 ++-- packs/sin-marks/LOG.old | 10 ++---- .../{MANIFEST-000059 => MANIFEST-000061} | Bin 156 -> 156 bytes packs/tables/000139.log | 0 .../000060.log => tables/000141.log} | 0 packs/tables/CURRENT | 2 +- packs/tables/LOG | 6 ++-- packs/tables/LOG.old | 11 ++---- .../{MANIFEST-000138 => MANIFEST-000140} | Bin 269 -> 269 bytes 32 files changed, 50 insertions(+), 132 deletions(-) rename packs/afflictions/{000045.log => 000047.log} (100%) rename packs/afflictions/{MANIFEST-000044 => MANIFEST-000046} (81%) rename packs/agenda2/{000146.log => 000148.log} (100%) rename packs/agenda2/{MANIFEST-000145 => MANIFEST-000147} (67%) create mode 100644 packs/blasphemy2/000152.log rename packs/blasphemy2/{MANIFEST-000149 => MANIFEST-000151} (64%) rename packs/{blasphemy2/000150.log => items/000145.log} (100%) rename packs/items/{MANIFEST-000142 => MANIFEST-000144} (81%) rename packs/{items/000143.log => sin-marks/000062.log} (100%) rename packs/sin-marks/{MANIFEST-000059 => MANIFEST-000061} (82%) delete mode 100644 packs/tables/000139.log rename packs/{sin-marks/000060.log => tables/000141.log} (100%) rename packs/tables/{MANIFEST-000138 => MANIFEST-000140} (71%) diff --git a/module/cain.mjs b/module/cain.mjs index bd42fd7..ca5dbe1 100644 --- a/module/cain.mjs +++ b/module/cain.mjs @@ -184,9 +184,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'one', 'size': 'human', 'area': 'personal', - 'distance_short': 'touch', - 'distance_long': 'touch', - 'distance_extreme': 'touch', + 'range': 'touch', 'speed': 'average human', 'magnitude': 'small' }, @@ -195,9 +193,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'a few', 'size': 'heavy furniture', 'area': 'a few people', - 'distance_short': '0-2 rooms', - 'distance_long': '3-4 rooms', - 'distance_extreme': '5+ rooms', + 'range': 'same room', 'speed': 'fast human', 'magnitude': 'Noticable' }, @@ -206,9 +202,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'small group', 'size': 'large animal', 'area': 'entire room', - 'distance_short': '0-2 street widths', - 'distance_long': '3-4 street widths', - 'distance_extreme': '5+ street widths', + 'range': 'accross the street', 'speed': 'fast animal', 'magnitude': 'large' }, @@ -217,9 +211,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'large group', 'size': 'vehicle', 'area': 'few rooms', - 'distance_short': '0-2 blocks', - 'distance_long': '3-4 blocks', - 'distance_extreme': '5+ blocks', + 'range': 'down the block', 'speed': 'car', 'magnitude': 'very large' }, @@ -228,9 +220,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'a crowd', 'size': 'large vehicle', 'area': 'whole building', - 'distance_short': '0-8 blocks', - 'distance_long': '9-16 blocks', - 'distance_extreme': '17+ blocks', + 'range': 'a few blocks away', 'speed': 'train', 'magnitude': 'massive' }, @@ -239,9 +229,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'a huge crowd', 'size': 'building', 'area': 'city block', - 'distance_short': 'across town', - 'distance_long': 'across town', - 'distance_extreme': 'across town', + 'range': 'across town', 'speed': 'maglev', 'magnitude': 'destructive' }, @@ -250,9 +238,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'thousands', 'size': 'large building', 'area': 'whole neighborhood', - 'distance_short': 'visual range', - 'distance_long': 'visual range', - 'distance_extreme': 'visual range', + 'range': 'visual range', 'speed': 'airliner', 'magnitude': 'overwhelming' }, @@ -261,9 +247,7 @@ Handlebars.registerHelper('formatted', function(text, category) { 'people': 'many thousands', 'size': 'skyscraper', 'area': 'whole town', - 'distance_short': 'over the horizon', - 'distance_long': 'over the horizon', - 'distance_extreme': 'over the horizon', + 'range': 'over the horizon', 'speed': 'jet fighter', 'magnitude': 'cataclysmic' } diff --git a/packs/afflictions/000045.log b/packs/afflictions/000047.log similarity index 100% rename from packs/afflictions/000045.log rename to packs/afflictions/000047.log diff --git a/packs/afflictions/CURRENT b/packs/afflictions/CURRENT index e146ef6..a6d5883 100644 --- a/packs/afflictions/CURRENT +++ b/packs/afflictions/CURRENT @@ -1 +1 @@ -MANIFEST-000044 +MANIFEST-000046 diff --git a/packs/afflictions/LOG b/packs/afflictions/LOG index 467d87c..19f5eed 100644 --- a/packs/afflictions/LOG +++ b/packs/afflictions/LOG @@ -1,3 +1,3 @@ -2024/09/04-14:04:37.278 8cdc Recovering log #41 -2024/09/04-14:04:37.284 8cdc Delete type=0 #41 -2024/09/04-14:04:37.284 8cdc Delete type=3 #38 +2024/09/04-18:13:26.259 7ad8 Recovering log #45 +2024/09/04-18:13:26.266 7ad8 Delete type=0 #45 +2024/09/04-18:13:26.266 7ad8 Delete type=3 #44 diff --git a/packs/afflictions/LOG.old b/packs/afflictions/LOG.old index 3b1a1f2..467d87c 100644 --- a/packs/afflictions/LOG.old +++ b/packs/afflictions/LOG.old @@ -1,16 +1,3 @@ -2024/09/04-14:04:33.287 b708 Recovering log #37 -2024/09/04-14:04:33.287 b708 Level-0 table #39: started -2024/09/04-14:04:33.290 b708 Level-0 table #39: 494 bytes OK -2024/09/04-14:04:33.296 b708 Delete type=0 #37 -2024/09/04-14:04:33.296 b708 Delete type=3 #36 -2024/09/04-14:04:35.409 b604 Level-0 table #42: started -2024/09/04-14:04:35.409 b604 Level-0 table #42: 0 bytes OK -2024/09/04-14:04:35.411 b604 Delete type=0 #40 -2024/09/04-14:04:35.417 b604 Manual compaction at level-0 from '!folders!CHGOTlPYlK5pBWGr' @ 72057594037927935 : 1 .. '!items!zq3ZAjo5qoJIYj24' @ 0 : 0; will stop at '!folders!eJFe9MKe0F63AM6D' @ 51 : 1 -2024/09/04-14:04:35.417 b604 Compacting 1@0 + 1@1 files -2024/09/04-14:04:35.420 b604 Generated table #43@0: 49 keys, 12032 bytes -2024/09/04-14:04:35.420 b604 Compacted 1@0 + 1@1 files => 12032 bytes -2024/09/04-14:04:35.422 b604 compacted to: files[ 0 1 0 0 0 0 0 ] -2024/09/04-14:04:35.422 b604 Delete type=2 #13 -2024/09/04-14:04:35.423 b604 Delete type=2 #39 -2024/09/04-14:04:35.432 b604 Manual compaction at level-0 from '!folders!eJFe9MKe0F63AM6D' @ 51 : 1 .. '!items!zq3ZAjo5qoJIYj24' @ 0 : 0; will stop at (end) +2024/09/04-14:04:37.278 8cdc Recovering log #41 +2024/09/04-14:04:37.284 8cdc Delete type=0 #41 +2024/09/04-14:04:37.284 8cdc Delete type=3 #38 diff --git a/packs/afflictions/MANIFEST-000044 b/packs/afflictions/MANIFEST-000046 similarity index 81% rename from packs/afflictions/MANIFEST-000044 rename to packs/afflictions/MANIFEST-000046 index e98c7dd7c6ec311d30bcdf3dba4ab8bc58f3d445..55f765fa953633328ad36c2caf6148e07e5b1607 100644 GIT binary patch delta 22 dcmbQsIG1rkAOAUnihmpoj7<8R49o^B#sE?G1&aUx delta 22 dcmbQsIG1rkAAk6v7b+YKj7++m49t2g#sE%U1vmfz diff --git a/packs/agenda2/000146.log b/packs/agenda2/000148.log similarity index 100% rename from packs/agenda2/000146.log rename to packs/agenda2/000148.log diff --git a/packs/agenda2/CURRENT b/packs/agenda2/CURRENT index bb9a53e..1021bdc 100644 --- a/packs/agenda2/CURRENT +++ b/packs/agenda2/CURRENT @@ -1 +1 @@ -MANIFEST-000145 +MANIFEST-000147 diff --git a/packs/agenda2/LOG b/packs/agenda2/LOG index 647e4b7..756077a 100644 --- a/packs/agenda2/LOG +++ b/packs/agenda2/LOG @@ -1,3 +1,3 @@ -2024/09/04-14:04:37.237 8cdc Recovering log #141 -2024/09/04-14:04:37.244 8cdc Delete type=0 #141 -2024/09/04-14:04:37.244 8cdc Delete type=3 #138 +2024/09/04-18:13:26.217 7ad8 Recovering log #146 +2024/09/04-18:13:26.224 7ad8 Delete type=0 #146 +2024/09/04-18:13:26.224 7ad8 Delete type=3 #145 diff --git a/packs/agenda2/LOG.old b/packs/agenda2/LOG.old index 14e10fb..647e4b7 100644 --- a/packs/agenda2/LOG.old +++ b/packs/agenda2/LOG.old @@ -1,23 +1,3 @@ -2024/09/04-14:04:33.242 b708 Recovering log #137 -2024/09/04-14:04:33.243 b708 Level-0 table #139: started -2024/09/04-14:04:33.245 b708 Level-0 table #139: 4440 bytes OK -2024/09/04-14:04:33.251 b708 Delete type=0 #137 -2024/09/04-14:04:33.252 b708 Delete type=3 #136 -2024/09/04-14:04:35.379 b604 Level-0 table #142: started -2024/09/04-14:04:35.379 b604 Level-0 table #142: 0 bytes OK -2024/09/04-14:04:35.381 b604 Delete type=0 #140 -2024/09/04-14:04:35.385 b604 Manual compaction at level-0 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at '!items!ziHxuZGd4tYphRNx' @ 524 : 1 -2024/09/04-14:04:35.385 b604 Compacting 1@0 + 0@1 files -2024/09/04-14:04:35.389 b604 Generated table #143@0: 27 keys, 4440 bytes -2024/09/04-14:04:35.389 b604 Compacted 1@0 + 0@1 files => 4440 bytes -2024/09/04-14:04:35.391 b604 compacted to: files[ 0 1 1 0 0 0 0 ] -2024/09/04-14:04:35.392 b604 Delete type=2 #139 -2024/09/04-14:04:35.394 b604 Manual compaction at level-0 from '!items!ziHxuZGd4tYphRNx' @ 524 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at (end) -2024/09/04-14:04:35.402 b604 Manual compaction at level-1 from '!folders!05xkG3Jv2YLtZG2w' @ 72057594037927935 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at '!items!ziHxuZGd4tYphRNx' @ 524 : 1 -2024/09/04-14:04:35.402 b604 Compacting 1@1 + 1@2 files -2024/09/04-14:04:35.407 b604 Generated table #144@1: 196 keys, 39881 bytes -2024/09/04-14:04:35.407 b604 Compacted 1@1 + 1@2 files => 39881 bytes -2024/09/04-14:04:35.409 b604 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/09/04-14:04:35.409 b604 Delete type=2 #69 -2024/09/04-14:04:35.409 b604 Delete type=2 #143 -2024/09/04-14:04:35.417 b604 Manual compaction at level-1 from '!items!ziHxuZGd4tYphRNx' @ 524 : 1 .. '!items!ziHxuZGd4tYphRNx' @ 0 : 0; will stop at (end) +2024/09/04-14:04:37.237 8cdc Recovering log #141 +2024/09/04-14:04:37.244 8cdc Delete type=0 #141 +2024/09/04-14:04:37.244 8cdc Delete type=3 #138 diff --git a/packs/agenda2/MANIFEST-000145 b/packs/agenda2/MANIFEST-000147 similarity index 67% rename from packs/agenda2/MANIFEST-000145 rename to packs/agenda2/MANIFEST-000147 index e028071981ab9cf9002452c2ef3e0ca319999a8f..e58c80d6d9d6e64b42080233401a2fd631de17e7 100644 GIT binary patch delta 25 hcmX@ac!+Vr2BA4_wiVnAj7(D)IT@IzGO|o(0RUwc22=n5 delta 25 hcmX@ac!+Vr1|dzhsSCIn7?~z9axySaW@MSp0svrn1|0wZ diff --git a/packs/blasphemy2/000152.log b/packs/blasphemy2/000152.log new file mode 100644 index 0000000000000000000000000000000000000000..bb760b51eb2b3e5ff2f962cbee2b3c1a33e5b24e GIT binary patch literal 231299 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�g`bxPPLH95@5j=>Ia6Q&!~E4^xnBh4-=5tf-6M zNq|RE_DI#Dg#0q}#z8oKr9>)v5d=MNoH@-ephzK9?%}Y=qzpbr;T%+}_!6D;xK>qm zZsdc^BzXTI$ONV37l-ww7ssRXaBkssDOEP3Bqld^gGPG${bKh<21D8OEZG<}IeVpI z=JmE;AC#5`tMeD#`Hf&>m;2>}F@3x;X+{#c-)qdQv7OEA()sa=!{aSgdMX85bEoHx zqv~n@e7ksX%TLR}*7Itk*gGn<2M2qV1AeNU^ae`{8~dfHQ83)x*H5R_7jvDZ?op+? zuvI)+UFE0YZg;V>RNb8)6xUYIZ?+yca-SU{8aRpEf0eQs*-zweCnU^b&}fEq?8hyp zcYN;UxtCK{&Ex(|Se)rs&$oC^&gWioih<1M9tG`v`%=qjPIB~nQ7^l&it_Ze3#fK{ z_RAL(KpAf!6t`)Scg2*`;dc%U~ps(^8(=T+ePK zm&Zc#=nT#*`zCeM~2bIU=f_5r*x&pa31Jh`YI;j zvCZkHPGdl&_KGMYbwI65W_c8q)4O5gLu<&wcfI8K8O#%(M{V~0%y(>Y$M5hZF#Hg> zY8L#gIv8&G7Mlcrg_AIsxdz&d(yw#?2!u=BZk3{3()1#q;87>+de@ADUjnT9`;(2G%%|`GI#(h z+hFjc!haExGlSi>$QCve{Fz;ErFq=Vz%R-I+r2)AK6g?f=6QA4CtXk!ws;Cjo7mjf zG)*ce+bT<v)dyOsWv<9mdoR09pG6M2w~e( z@D75Ab;QLTw zCZ;}|O_)^K(o7)x4A3xmvSlD`&=hvDAqvmG~E>1gcJg~^S7%y`~YCCL#cNWjsAHhLFrEXpx>uK1nvv`&;(UW9Vqd6tR z<34_u?8t=iN;}RN59mHCEW2$HOi1K1UX$Vhp04netL~*NqG)xrEvk&@9CJo7F3it} zVneui1khEv@Q%9f@9w9yKdi9jz$<$_|00pB2klU&$`jNDJ(*5XMS<;MZR`RBM6BvS znd(B~ztAo1Va@D~=w4&}DHFooHN#po?veKx0sh5#W6_xB)7M}cIIudiM{kXuK#glws zp3uS%0&|up{f9~H=|JCs#K500GN;>kKQzA=WoCR2&H(ap6{i;vya(N5+ioy1n5n28 z@uL*2c4_S92oXwB;wck{zp^bATON9k3^)>**2I_6VL`sMPICPs6(xb=mQ{cm3(9M9 zat2pL4i?@=b=A;Jf6NMJ5%x@XR@EigOHPr z*8H_Z-*dp;m!C8}A2;xRuvymjPVxRyPYVwifJd%&sVRFBO5GA9u%T?HC;%c#&Syp> zdlZ@FB$p{hs;c(EaRo@l-xy)u_B01McPLu0gqWL8EseW1x)rg)#B5{gNLcMkPht2) zIq=47#G6Q2%-N;pInYXQLw9le-AmgODS*<3jnQS)e}&^hB&~PD&~t@8LQ4pNOi{~* zoha2V&VK`q#q#J8KB6JSq?sUw65s$D(MpO+7`k~=)DcL!%5Om7Y+!fPQ)I6Gh|~np z&FLC;CQ%k83k! z=UqO4O?IGo5WrS925T3)t+lIOf4|l{y!yvU9{gJty4)@D=S6^=KE+}h#YBbk5y;%#?vVw*wj!EZnNA^rJ;5MAoyv(u1|3$5pW|FbvC-4c~uss~5s zgX8*1+!0S+{oqL~)$)<`@$cVHil}v|h5JKk(8aObPOIM;u_@! zs?LOE3h774TxR9t`M}vPJ0Bt@am5Fh(X3hZFA^UZ-x1dB)5VCSefNXJ9kGyj`{nxp zBa&Q^&U>LMnGza^Hex=|H3hf8%OAvPlk@AtA-3A4qx16JEE+G>fHROxRzbmFw=_4X z!s08n`#6VzSz+o+hibZe%QRi)3s#*+os@RJZq_KW43Jr==OA$Ugx)YzAz_uBA-7j) z+1y3}lNy}6(~GAz=|F^lW6P!@oiAcH-QlEm#9$*}SBC}%Q}D-~>@|~HS$IYK8&0=V zqZ@Z`p0i=0U=@*vzAD>RnBWFC^7o5~x6Dleo?)Yb2{RS|F>#0R6X%xfB1Ztk&t$A< zftq89FC)D%(s?}$P>b#upOI>o3lZ@SiE16VllGsN#mD#Vx@;+`OFXU{ot?V*82HVm zN;~f&rzJn+mQ&V`{J)bhF}qu#G5d7=i==(`!(!TYdeCxG^iM&7L{6!hgju9?KZH-s z9#w4!$|s| zVI@&(V*6c?dIUrDS7DhW?#*VA-Ya^lQDOLoI!#EW{N_rRz0}xKXi$CEMAJLJw{7N- zD2;?>OB&Wn*E$}tIH3b_%6f$qkg!g0oTT6Dh^R($fL<4yj!bRx^T-8?w*<7VWci6Y z(grFX7^%su3tVJGd&aX`Fg9vjLVTK7ScGU)LemFQ+!(1dJ!A&7y@gtykIk<#B;I3m*BvJQ3?WXq;x5!M~OGuWPE%N5_7e98c7``w=(_#yl-} zEWX1M&5z1BM>b}C%x@KFs5XPm2_NNjFsNVBdneh9Wb-$RBe)_lE+9ei2)CnYqRxq8 zpt^@`ykr+^);b$i*kiY{$?bN0uuN{lFz1@<@hqFvT~IQJc8v9@tr^ zKHvcqRGIXR05f!7$%eir<2x=iq9ecMoS?&kFjTyN=*0JZCrp&dXw+hWED)6oDniz( zC~(AQ_IRFdb`Io&$wXlCAedxh3V%8Abhn!IPuI=$jk_O8#BuY51iHU8ztic6H_QGTuJ zx<^H->;%h4s&7`8;{4H^mi&0cD>Rfd+NF_}l@fBh9)7x2Fh@ajs z)JuknZjp`k9xrY+PTq#Aqu$JVZ)&^D{qBzSCe28Kz5D0I*VWav!<&n@yNlJGMQ(7@ zKi#OmoVjV#im&Hh42t}8vAvJ$=Ak|L<)}1M zTWcSb7uqLlD{ncgd$6=}v|TxFpPk*DwqL(|++c5Zh-jcE_9x}eKPa-B9sIwTEYvFy zaqyOOZT4F)eo&F&J3jc<+F5V;`R&^EakI3zaeBmaaz6NyOPkJo@IJbmwDA4~J7!;O zPw6`h|5d8ziZqF|P#DqChA5(6Q@PS(#ns%xr#eY2evmC^W!!YLXfdwG*W@@68WENX zDaq`mU=wwV)1{M2RwSqsQtuZYl~Qc-w*8)+TDM(>K)Za?Y!BPwenbON1Ct_`#sIqn zW8_NJv#|wGqRkD@tnxr=su!$WrB91KQp}nqQcbpW9MzYy#5h|x-31)42Z0vy_^PpT zP5!>Nk%{(ov4GgvsVb7fBb23px=I#-R_-pv>~02QN!YKYFJ%lqE`7if%UzE=E=`f0 zXA{6mbSfVNSlKo0zfJ&amn}0tVYKqidta!6S-1nK7BgT&aRHmXvcvJhky(_?cS#dRoci_s9TARVU&W)jlqGIE@M%h#&uunMWfx$Z^#eVQz z)4A$Uzey+8*u=9EKzkTN>|7eV&NIv>-j$N3Ui&VSUai;F4$vO_eVr&z?TQR{VNL&o z^Vh5`R#_ouSo|os7e*s%aRHUO57bsP22o2N7vHkeG9TY28i5CyldPTn*OFk^Zkx~# zf$gs)JLj9T$}-J-PrMUzIdgAl?8pjILK{kA4R$ay;yO2m7EDty53Y-RX%~!|lyIEW zEQ%dnpL%Gbz<)RNCYD5x^RVG>NGwVAOSz>e90rYcy>mq)Wl9;mCG%MUAp}BR6lfSd zMy@(D(r?u)!|)yJF=ZsaQ%Gm0YkN!6DG39_yCz{GnO$eiS}o{|{}u`EX&mNe+&#uo zp>T91fyGP-(+JL+FiBP+Yk|m}ipuZjHM~+H~|Nz{J}%q}(8M#9H$<7A7F4 zsl1Iq#(B^YT(t2hC1x@z*TM6YA zSpFg9=v}nUnw~%+=ejqFUcVL$$QhM7LS=8fmcwtS#`~mVk?M;Uf`zr@d2Yn0TT*lH z+g5Tach;t!a`UxvxX$yMF_;PUcHwg+q|q@P9d`VmT~&RQ3j>HC*Jp(W`B6{7W#zmU zdS~iG?U3Q%dyI(KaHE>MDc_?Fqa{cvaH#!9Eq)M*oL^V-4-SHtxZyA)L9`I zYSY*U6bO=2LG+Uu{&ytm*{304tRHQTO#qRNd6cA7u2~#y}}P*2(UHz_xX-o%RHEJNK9P|id zztb33oN3(DZ0d?pc3MR>$klBzew-^{^o*_!+fdpWTA3xhpy95?w((FH*G2NBs-?C- zf@1xubyC|u+PkYCDe~53@oTunh$r*dmchR|-xy^fIS6S#%GLtQ* zU5l+NbZr;9+H0{em=|R+y>?8pqb(f0y{avhgs%_;7;?NNMtX#Q+PFnvYTStk3Ku`} z5bS6VZ`pOU&}gxVKG2WL%_^R$VQHTg(0pUA$ zjBH+2kdzhdS2#Kitdvs6Q%W6-+sf#1Ez0ct$_J`RBL9OHWv#!t-CgLt-hX}ca;80M zrsN%qeHgOb(ns|6`^h`_dUcDeyraC-n|j+g>|I};?an{12@G?h-BCI4xEYDOh#s|(wp+!u7n%=7t<%J{i#l+bl&Nm&UE={esQmS zwlQ2?T-z@XPA{bR*sW~6oIl+^-0012ZlABe9m%A#uiei9 z-@N-55?~eEY7*5S#;q#HE3#HE=X`jHrn}Ng zF(Q~`Vew)``(^6O)TS}xp@cErh%K1j4whk_5cesWh*mFo2U@_iR+*gP-CFWVF&^_r z3bqkhP*{Q!lDIn7R*$Wf(t|8|)=fsa_d?uOr}$v3<^87H(OGLUiOCACuy3JGyq4#w z_0>ABYtBrcWIr;3b*^)&ctA6U(K3Y4AmI?US7}y6yG-M zAnF`@xbMECL$re9f4DN1&I9qci?~EjOMX{wlCK%5hl-|r+~qwxQzwx36$K*M_3n2Q z!e|{&n11~@Iome}dA@n~LtZMuI!S49WoP#RvU@;Kj(ly{?nNLM7hh<&3^7^o5tjj~ zvAv!_0<*)P01lSNux{o{xi@9XG^jeP&ZY{2FhCx`d)AD_sHb3ie)_h2h;Jg&_pWZ_ zz)I}DDxfIz9*p6wtF15R3^kr3ocm>}-s7MIZ341osZgG#-#X@)a3z%A=mMn3YpZ9k zh>e`nIf<7v_Ka&bHuOOaUl5!A7B;yq9`~>8N_yO}M3EN>3ABcu<`xhYi$$UOYhV*v zzSrz2Z@X#^P=n6qFRA7&aVqal7#n7X^(=brcOT$r`58~KD=I<@RXo-tgQ*5v16!=h z7LtJn^Rb_2g)Jl1>Z(JlX4YMU?L|pT)LPr^wrQU#^ZKkuJCX7sohb1%xz6XEj=O;t zATndZJ|CZKp+_j(!A7FQYP28-^?6d1fEicxbp?JUta;ouAq!>sYr;fS^PtO@b)No8 zlH0h!R-gR>)@Fxfmrr@&f}^HgsP<5ljw*&59S53q**F`)p5Kr$+S71^ zxoEzvPon`Stm-%^z=l(*@exIAg_ph{?RVIU$k;H=Kf8AwYf~FXJBG&QHFmTy>N*Eh zLrsTJ&>O#iN3(N|w_+wUTz9lA>1Gxgbd-=g$0=--@-7q6J%X~=tuBE{z-4>^oBC1& zRHq5C1pmYO#U(C|D!8?{2lwW8*Cuy^Ht-4a1b4?>6{mhy*rCR)PE)TEWVq5{HR^HU zBm33o!^cEY@*sR<`I5hzXz~uqmHwv;8&UgGaFIi7$9}Ztu=%=o*pd5$ur%LM=0@(b z-?GQ%)){L%CPdn!t_0<_i~s0PsDD}Z?ObWee0JK5Uc$Xv*8x9wNR(I&QYZvSr)8v^A zqp+mso^Ws9zgqV9J0-A8@mOkc$Pc&eTjes3lL8)7$h9&48ShoN7bY&h-9p6_R5VKIf8!C( zF+z8*>tW;+n)H@1!3no_oryh~4ZZ?iP2Ue8P!;6>(;iRck;R34fSrgu9t7Ad`}`mM ziCD9DKnWXd0Q;#r?NR&g2iTO?zRFCZwEt6#qAoVqwww8P;OzJZLv|?J8ph?(C%t;Yk91WA#*4yG;cTAZB04gsw?!4nH2l^ zo&ZfHpJ~CE&vW%FR7j;<&AW+i>1MMzi&ylisf6!-P#DOiQOWqy zO}2@V6eZd;Cqx1gz1mv0p+{*6t9KjD>*gbaR)JqOv)i^av^6KX=5@J6de6~WvuCBF zRQ!PSv$b$92OZ^VmTf6 z(+KQRfW`1b%O+$&Hh;C6C|w?0t+GMZznU=2Z@WzuOaD|CE8o2P*Q(eVxG!7U7A6Vj zw0bxR_*J<&BqN#qGv(69YYXt=%BPiN57R&ClAN->2WP_$8^@z?fe}a+Ch$#Q>RE*G z5Stw_V?GM?m{}{)G58rF14e5#=$Un!w?ZWmx7fbtN+*~6{aH$mkVw8N91N=$<`W?k z!nN{@rbXM%f)=u7bdrFjfU1kc9hnX3lMzmClXNs}zf!qSPum*U#fp9bl|XNA{dsijOMqn-p)%zo!ZroI*(bt-j&lIC`z zP1J{XKa9Jr(Dae~aIwKz*vZH5i2&#>{670X{=vmx_|~_6>DzzE{`nUF{??Cw1_}T^ z;b&9(H`7zIR|^YUrM2#Msrc*Pj$M!?K1J;2HfCOe?b_*qzq!k!{TxD=2EIQkpzGMr zvKG90lD#np-tky<9osid=^yP1(PB3dzeNPt+6dY2;7jfY6*ADDIfLjE(`MKn-%sNA zyYSA;%LVGk_+2F4*@NQw%coCd#y_;p#Q*h!fBzT%<8OcKZ~KAyH#9uSz|74ww-$GH zmg-ZTwVRhqi>X7a3nx>(^~=TM+sf#0<9U!el-)Wdb*Q+oI%rLwh3%{Q{N?fTY3k7a z(qV0H_4KUWJX{+VXDg{g+4?-GLs@NC>QHt5s5Cmec(GkSJ$qR`NI$E#zFeyJijCUU z>~*bJyGdQu*c-iQ1UqY28kxVXNSI+QK>k~)-C45bcTR?7X`z1{lC`t)$L zG&Petbl6)OUbo82jTf^g-GiOy=|jh*VW&MjonPPYEfxE{)S>d+%c-m8aepQ(&h)G2 zTd6~HrQ*~&4%BsV>FwO!a5Vobzq0x7{;_ZUkN(pv>C^mEpEa5LAVy{@o%q1aZn<8p z?bN3?ZdYC&@0Q{Nvz66yvlNVi>Df)BQQOIZ%tk%&f#=1Ao3+Z;D131;J9<8|5+9fw z9W2c5wJu()2YXw=i~0CKHfER{I2~@jelyxVdc9LxxqQ2u9LQ|;6CYTdSv{P7F<;x? zdeI#1cNUTZnF3kKf#Hkk-tzu@`S51zq~7Qy2d;{z&8z8`<!?)o{d?35Ub$lS34v`$l zC`;o5rC@9B^t^FYJ?)=w7Y}aZ1Ba)Zufz4@`px0`C_HA~Mib}o>iO{H;rivu;rZ>! z&e1SAa63Qh&3BF#8arFJ7Yoh!KsJ&UA2@osy!`TD?q#>Rv{2ctCG+EGV|91=eEVYO zc5!8;aWx%ZalEp>di|y~+ATJ=PQw?c@qv@&%F*!U%-qZM-Qq#7oZRYU?RNNPeX~`c zg>~QFUy83dt-hG+EOn16-G!~<$?9ry;C$h9SUw3>x3?}wOK&%m1EZ^*(L!C#qXbWl6Es3iwZdV{5fjs4QpC>U<; zCu3e~9lRYalx}yX_7)drr{>}-vZC7fKrmhEJU<{b)dTyJ|9%7^XF@w z!R1YSpmo+-obK$OOb7d`_03{}4DFdW=SyeZjhUN+o88MsBfg^jdaZT2yxlLJZnc67moCm}Dbn@^{SlgakUYtGNJ6hhZOt<4JIyakd%8M&ovm5;v zvn!3+_&~N4KztxuYB4@=*}X1xuNT+eTuyJST)jzPso&b0z1|3>uU0otPp%e|Ztve7 zZyh#U&$qX3T5sp)*W+7d6IbH{gRQNN*M|$;+2uEfYxOW`ZgyAZ_=;gY7_KdBpKP$j zb~T($rrPkP-_X7_6GGQQ%vaa6mRUT^Qu-EI^wJIQ-wx1foy$d><34rFQ{ z#s@}?*WsI^<>}7V((Q}zB3TD-w~Ckb<-NI?<6>}BT2Gdu+nxDAMM@*Z;v!{-JOETR$fI0k=c{N-W&0hwyLy{NMP0 z{^U=7>)-Zg|G2KW`|L+>R3gd14~?U;Fh4bOr=#KyzK^4l8ilN3|4&oyB3w02Ug8TX zF(dL5^V~tt7J84;d5zio{{iwEzy86-@81&Dbmx(f;Vs z$Ufli(TJjaKf9X9HdU4i|LxRxjM~zFj6Qlmvd_4CKweG;B+LA#CP+yYc-VONW9{7R zBkmrLg~@niBTT9Bh_@pDxb-9Zgu92sMGk+MLWf^JU}XbzDZoNT=6CJ*xB$UbH=9Q~b*aDQ)e^U0TArWoCSYvh~$q*R!EmJcO9Sj;DF@tg?R&#eb8h;@&_aSC^~Q4Ijk6*XvVL^*X<^6L7avOJDNB{^8Jo+90V5 z>iqLW*-DoElpPt)_t}E$*pehDpjAjYEpS3N?DCIF5y6x@&cS6 z*Xp4bLQ*l!716PquvMR{@35U^|)sg*IsrNx;B+_}=WrVUm zoses&{Gs{{Ax~hd0iA6dvakh8vqLcvonZ;rQGo}akUgI5OAtYAr9_nSaoZG)P?3i^ z6&PrgWgf>n0$KqJSMA9Xe)%{b52dn`Yl2cLzUv_DgHS5Fko`tdXmOnl%7afCp)w8p zVL&G)FLhZ$<|p$@(@k5peE=|76$d743<3g*xGu2fyj7ZsGX3?GK4ns@SftfcR~a$^ zP6|^u9IgpwY@?%c@l0r8k0p zq!vnfz*ycCLdCCrqOpKVL|ZH=8ChzPK-o$PnDweHFFzX}*L%?Us0NhM;nK+-joa$5 zK*?T}))mO5L+VUZGbx6p%H+qYjN@f+^<+uAH`GE3KvG`Cy6o{_!x8nr1^1>b121V0 zClI&X^mSvp;V-*MD27Ed2ZIs^ zAQA1)yj$TPr1s|)mC}uUdi|`Pj6IVoRA&sj4<8Q&|a> zh2Al0w^pjQsA|O?FX|E#D+R{R33ap*Bok1jVHjdiZ;oY&;i_SErLfSH6Ope1usY(_ zYxp(TtrT-QRs&7C<61>X>yc(Px_~Ds^3-agIHZ-v<_1()jArIi{(h9pV+`=Hg$+${ zTGa>FzP9R5%o41l$hE6ju@&2rYPm8;6{!jn3tcn88C8ukd}Dp?vrr` zbJWl@Eny|xQei@%)vh(wZ&&r3d};JMHT)_AivIC0fS$5a+=GQ+BHY+()JmBw(;hfh zuC>QeMMbZ6Ywd%Do}mJ5yXDo<>nHW<*lgo?;dG16<~L$7qQ!Kp8KRwwXn8;Eucu}F z_{dB0VevVzyw?xbCg+#IwvTBAVExY}uG!wfkC;)M$^_Xe_GX`zm*SN&Enn@ zO^>|?O4iCGg_}a7cK>qdn8OGYCZ}4w+ex_5XiE=h>-K&FG%xG8i+9f5i|BuRUxw2) zjOC<@@ER!HR8@5p%xbysPp%TPDyFA;yK_FPhR`_xf8sqfHz_$F$q;l#UUGnW*F0S*^hqKQrJOd} zEm}Z_Tk=I%t=?go4r7fL-;SxA@f9;1E2MgWc9<4BI4C$4SKq&{a8{TD-6C2?0&k{; zUjZSaj>wxl=inHPRflU-o|no?u|r1ZtG3F6e8GqnzBEqdJe%Q^+cxBJsTkm62Imam z&jt8=yzEy}XXMUU6_MEu*Aw0|v&(>cLF0xG=tvCKnr*AjRY|NMYYqmmcH7g?-v3$Z zjHx>a{tT@XI@`tep0-)9CgsvB!Rmop`8m{SgIkwj;f!t(tx6XP5)Xn9{TeG;dvgLE z$$^Bdd25CM9w5u!60AtO;gF$ z<>F8$SFnmh`C@z=$`>Hig}K^T(-wYF+5ez;ibeI1g{$uJjU#d{~P9&E6NB&{7 zf}$_IAUmnxOW$=`LH0`zAAd5nOXQ^5dfh5nMf0nW3Wmq!er$EwulJz>(TezU{P=wwU^eHgeR@&Ox zfB0l22uK8#GZ+xL(!FE%0mi3Y2A&+ok*jHhk#XhbM7!$o=@5B>a{ykWI550!>V@Q9HypAN#)9=OQQjMUP&m9(@AL*3O0I;MyqD5% zmDFwBIUU=Qb{S_B7_}d9{e|a|4Z*7lECxK@8kILY?qcQ;uf(bf)*)Rj;+0w@D^p?i z2E9QWga#(&{8%&P+iCL5BU5RPW4U>bO1HtpIV~9<1?|KPLwo1t+7VaCbhU3PeiPGG zE%IBFdAali*646Q_hE+e2!Cqx8 z^!=B8?-`>gqVU8v6M{Ly*;uIJnEpUbyZO(5Nz8!<9B}sxV?-wwt<<{6he!$N(EJ!6 z8xa(2;fnE&1sVT@`Hiw+J?j^tu8(GWnD0lP32Q5_CUi_(6bTtUuo!Td(YOcPiw)Aa z${k0(=>e6B3=6Kx*b?!6YesPx_DrrAS)&Xu0!c7zk86O0p^Bldm~*(yYjz)8F3K-QlFCgzE3Q!Eo@u}4}WNZEWMSqov+=MAjtaO*lg1yq2+;~7*S{ZkMsIFB%#W@f$}SzCh+>p{~@E;rTA6jAeFnV;B{MtcfHY)1#Z zag#RmAcuh?YY-V}c1dZ7HY(09_ZW7^G|!=9nCWcUpRJ3J7Rxwm9?^`G5Ic|Muvmwl zB)0is#dL)&R1`mk)0!o}c=&^Uo%BId$4)yW{gpBLJ>XxjYuG1jt$)O!Qs!?wA5R!8 zjmbF;>6e4XDGCb8stpO*R}mQO6Q3Z1ax)=0ZwiBBG}cOsw1-fG4TzFFtalU~)`UU` z)-R<2-Jo~WGBd$uYZvjLQ7B9(^!i!?n}o*7)*Zf3ka1I_lvdRv(D8}QVA5?gC8Fa~ zh4MTC6+`)qb#f_`=UrJpNLeQvFx9Kq63OGtGC=+@aaq}*Znk<<6+l(E&>@)(fX$d# z&?#5T?O5B5W-ThLtH_z)B)t@`M8g$Du|W9EbzcyqTsp$k_hbMDu=`;DdKN&XS36BI z8uSN*lQIE11qY-ugQQsE%>!>Jc5MH2$SHH1gE~>&^vp&X+8ZA8Falj0;Sd5dG(Up4 zMq5gPdKROJcwv(Y!zt9DK4{Y5<`;R~T433H^_3_s``|;l4F!%yqH1T~Kr$)N7t$M) zl^}LU;0oh;ska#&gbt6a^$8&mOao@ly8CcpeYvgFOqNGIlTCQ=@2HddYZLT}r3131 z!N>Id*!#@96Ft9_QxGnOe}ks&4h7@Woe_Vl-P`asY+f{A?Y%*F{;&ABpqMivkg50X^m_#W$=h{wo zcdWDHbSaG#>5yxlJMBMHk)@gqdc+3Z5iFNq4-TNYig8h5BcqX)zLdj~Ue2=4m69Ok zrCV1dk~B-4jrJ;Wf4m#F`XR4F=~V-n^WjS9|NK!ORU<;6zLPPLdO2-rSdd|F!i--z z!W)1Z6XIMH1Ns9A`RdZiPXR0-AIZ@~`NrNSl4KG{8tBEBBpHG` zL06f9;=TvX%;czEUey}Y%flelWo=n_K8@h2sQ~=u%T}^U>U;i!<;TsVNii(X*d~|4 zaz1$a?^3VB9)TLd4%ZWwlet|C%PA70sEPD;PD<{p7}GFJ)pm^zzGxMWdcC$8(lIT| zpu)GJbShIqvrY!vsQ{*uS6zN_jBw0fL0to()bBo8);Mmx+w8Ng z+odNlIRYf)Jgi)-Z7FLS(UN0j;bO2F(BW=D4-b40JO;%>D3yS?h68V7gE z=$B~9y_(vpBXf{{@}YqEbQ6Xw*eCaeIq;mlK@*2U6##X=e7edVybhX{ZWucRL(S zR}Ig@R59MqC_$Iv{Zg)_Wrh+I`rPE>b}aSPC_xSCjpivq1?5Exh!U~bf;ZYpDM9(B zfJ`OdA(2D*hHV_mH$~&nX08pT#>%x}oGv9O|7Murj1u%Ql%V{}|M}GW_F~+sl5GQk zv%2{Y{ljQMMPGYCmE3}_JfR{eCHY7IJ zIvvbf?uc2Y`w+T>^*TbB;M{SVygBr^U73)m<&hadCiwd`by;b4Z9Jo90ahcjNKnUE zx(3v|u%^3*dK%LGM+b`Nyv5HKnJz5%w* z0jp(k-0;ZzzKgNEi9FP7<(@P@d|=BYm06`Za7AHTsc?^?qgEs-68Du&3JY*NnDC9H zM6MsWW${k|OEd%RPEc9O9b>iutTRP1&?iN@>r265FBSA`Kr`c<1ez{MP6|e%I0nUxz;F|lhI^+ z95+hiQxKe_Hz&PR4T^XwBG#Vy?usra}_S(#4qTe$nk*gJ!^0D6ISG7GY!NT$vv6sY6mTNOfMqleBb!rYFV@=*hf|wG+txF0G31A&pp9$;(;eA~-xyS;Wy)Iy4aM4m|vm z7#u1{;Ihk9Uxlp1em9D&ZqFn0YPyNYB6cP60Hl0)NMr?z9+_FizgPKc31+iYB#7yX@|3X;S5hot*rLj&ggtx@G=#7w?-H zQRUKolXoZoY8nyU!5X=yJH{rK*((JUl_I@z2gcYr#<)x{3p@sj8um1PDoaj~+@n5; zrG1!%*6vjS6iFHrJjfntmVr0SZW0|tC*(BGuWy&Om42?A1{9!)!R_A8$SV`DL+T^? zd)UA76Mn(pgzeC4Bqm8|ha+cu(&-fvaAaOY^VrTcRZQVNE^;-H*j&a#8C4?W>Dg?L zzJh6{`J&D7?~FS6SujHN?8@6$bW>IKa2{}GqG{@uDZyNe)(={_wY_Ac`T@zlemUQRzZC zW$i*?o*l4-XDOwCvW8{@2w7>W>~2eWQNk4UHUU!Vuqs7HLo0ugF$smL7MKhZFDK*S zSNUy%rW4gfrfJbfjp#lLCrt5e`IUy@LTlbWGZGn;DJE=e@`o~%C?$uU(cZ4FYc-ES z#b7?8w_FP5`4Hc)W{Rnd#>yMHrg$Fbb}^)5vU?QBQp7I+a^Zn74cY3^ffwQ0$~_62 zo&PJ>pywNh%~ev&Le?vYdmwAcs2reZRDiUbC%2_hEx?ZYR6t<4$E4)cIw+fbO zJ!em$?Klima5@JY7RqU@DpOFhZ2_ z!ehY~i_IvoRTQ7$0;^9tUCl7R2a3UD#+|qnOezcY#oEg^%j?b4o!ZV}EyJBqbI$@K z;n3B%6HTtqb0-RVffhuQL+Ch6z`kqi*YdWtuzm0FapUmlY4!g6-M36-@BO{g{=M$2 z`_1R;?+@>{IJC5|vN!+bz1sHrm#x$7?tKoOHXje4y?Qv`Jz9SMgn1wRr(JY>lKFf3!f&Av4q2xyrHuCcDKmEzXwYpJ$ zU!(|Zsi70={qfqsr-Edd*u@x`aS_Qgbju32%5`ypX~D09z-9-?`0G4pPsSfKk?4)) zA4afnAznz5S$E7s z=An#pIgl-6RD&X~08lLiOA!(L7*j9hn}{*7-1DBfFpw^maD2g`pm_}g+hEC3naPB| zi5mcNgnb&8zCR3CK1_=T)SyGS$AoiO4Rgh$K_{#@Sn&XIu*9TeQkDt9KmDAg@P(vnWv`4HxuoVJvBGqGF7{SMc@gMa z#%or-2#JFeEG)b3Ocp-0JMv*M4uhXaMK=i-#)+8c3aYy*d|I?R%rzXZ@PInsR#^_m z=vCsWv3oNWxp)O+5ZkNN7fA*m->H=g2pmSa$db1f^6xwaz*#p|%)-BES>37u-)h>j zd2BZtx z_|cNoFrxj#Q!<`BG$W%T6bQzVu5tom2Y7TubC=UCGqMJo#E5Wl5CvR8As3YrwvsKC z`slc>%3Rz|mBDxtp#xxMaxgP6jn_m=@otrt<%*<W zj5sjx15Ag23->k>rJ5p9CLn4T%n50>E8RRcsRaKL-X)Em()wnZ=Sa!VvG2N^)g)0lzK*zO(8wk|8)#VyPJlp^84%W3Z4;U8rkV+P4@?q#=L^hTJQ z{`2|Lv#p?!##wLCOy=ZU_CgT335YlP)(N&?$U~kb|zzZKGfEMingQZ}j~7 zOPtBPEY6%?xV^YIpPZKY;r86^g}EDFtHHPksko(onrl0j*FEmUdv>Yij~hKY4kr&^ zc&oJ49)p^AP3|rhe0BXf*cR3|6rf|5?=x5272@tTIt@gC*i2{tI zQj_^W-Dor?Gyjw-XEi@;43b4+DT5@~8MDO<8>Fv=GX+1mtf}4-=pm@GylT~uwK+7( zgp8}gH6BKJ|IC?d2Ld~TUST2TtCT)5bllHr?q(lVj$GFe;~jOxvvSONsv;|s8lu^? zwkCm_Y_Jwt*QkCf>4GmrcOgD4f4OE68m*c787E@*=8H2*pZ0_&%V4UXx zPcdDb%Woa_N`Xo>qkUYeQstwQzmcj`?&5Sx==H=Rtixg8tTMriF)3@be!g&_*&0s8 zX7pWRnP*=7-QBkA`U#9$2!?8=^TLKNF%{3^r+HSFNEw*DinA8(Ewi@~;ql=Smud{`JU|zUZnAQYx zoAI1V{2t#+$;kJe-{lsU=IH8oWy z%dpsdr4|CHwH_tC>ZSRK`>4E#KUBSqM=nx#Ds?bVX)F}|;u&w3o)gqFKY*TFt6@pW zmPPIN)-fx=XCbPEBm;Z8K$qX2#XvWsq+AMg?|R3(z2l|TXYc0M9vwZK``15~M53OS zNogrSIAKbsiMr@|;_!P?8^5Q5xTE3smXZH`JSZeEeebOX$dgi8JEPeWinP9bHbbQYeyT|VfoEu8F}Y`$x%3`2SO@Sw9XezH}0)mZ4a zUvTKn>CyAk`&%#ew(j*`oE+?NXn*zn_}P=E?ZzUp+KugH4(%P?8Gp6+H~r62O8z5~)v79M!Qy_J zT~YYC@4em~cRS-Z_nvI`m$wFDJ{5fKftoV$xrZ%~o!`ZxJen6*O_tvW*-iD87K|LR zg4XIwBZb|PvxDCR!;vg(qkqTbdKis3d?mW;ry_4_EO{uA>UK0-;*|eHrlU6-Yty^R z+0{m}vStk?@EO-DoRjXSzU-cJU0RdhmQ?pxBHJAgmWOZY`uVaK(QCuwp)WYwJrj`% zQ#TrBm}y#{QqnzW2)jI=K~EaK!_A|{oVGmJPI?BFJaJj68Y#e_TP-@w%^`7w{yZ_F zrg|jg+S9aQAb&1SmQWMSLWglg8n;%_kRa*cc^~7gv2vH0he)#Va4jSS!y?^8GY?ND zsy!t?6&I1CDJV}=kROi@toNVKU0*^B2$Xq={%o?_AmPg~HB=$A<91!WHl&-y$Kr*V zPQk0AGcFmSyezA_qDI*^qSe>Lv$6 zYL`1}$)c&&`@Y9K>j-r|v^RD8s@yT}#)REAAM7@Oft)C+KN9(KzX{vaOCa_kU0?{t z3?j8{Zc_a(YYhp5Umd7bTYn%vTUFzv_+{3L+~xp-6^#O?aBv$f&jF@ZZ>XfMf|@y> zdqZ(cQl&)Jklm7YtuWY9E5nZ3@dfxX36-EAI>pocVD8|;{1uJE=Vq--anck{;Nj8~nfY$JEx|VDnwu8x4Jn`^tAS*sWM-oA!-tNIY1=G4Y+n;_|>j zV1pQk0=?L_vb6l$0lY&(Mu_6CS7h}VWA#o`-|H^VxU<4WZluPHWcW#*T`hJx_o zLuE!ga@ZD)p*Uk|!Cf#F zGVXiwWBRvBN8>hXsm)QMK2a`{aKu?gHkd#&3J4uTT0kc0I8r0h8N`@EHVXt`H4QV( zW4FZx5^*--=&wO!22_;WGdY->*(yvRQgy&&5g>C|GEu_}4%H@_qvdqT4C442`sAp2k z-_?qN{ZV^O-kUc036%NSImN3NlB7BfOCKUxZ4Y!soDTqRT6b zpk`Z=4C=L~Xy6RxVw@)?A2mqGW3fx+c97UZ1C4j0(6dU822ynqs;6h0pfrKUj8v{P z^hpA2VOaaRXOf1htwD9%am{_0_0Z@`lbAbHO>;cbX8-0z2T>RQ@k-V*KjdhN@3eJoEpyh7c zo4h6oi*>s44tiZ>H=e;qZDJ!Q>)Jrn6ZQzzvk4^toonSehbIs+;rxx7eqKuy-1C3F z6bjy0CPM7eBknKQE-9lklscl$ZUpRb5#lun50o^Zw8oSg4YQtg^=`s(ee6kEs<0j7 zc!7QWNV;fH0QHQT4aNFNd=ZT%_q+zzK3(p>e3Rt_^T_{9+8|}{UyG(h@33&8?XvaC z6Hq$dkYxhS6H@EeJ_`zNhd`dXK**&USjBaWHHeRG}jBtw&se5|!BDrfwg@|gdLAhtCmuQ~XJv_jFwqc~B`v=NTdAQgq(h9v>|}Uq61nb7%kU{dYURkrHyY z%Bn_C0L~n`8Y8D~BjhPLEBE*3`cK|1y?$Rg-CMh(I}~sf0v{ongohlEy*Hj7F23Jc z>%8lX9v;pO9?fz6^U=cgQyf$4rw?E3G~XX_=zXiTTK($o+{&ABw|q1b%YFZ0<<*-Pm2LKiytwKizx(qQ86&`z+9LCO`F9E5_z_ zu>#_n$Ncxqj5;R?Gz0TVZn#?)6M2~KDl^tTnC7$*`PuC?Q_Q?*MSpbi=y{~o#e2oZcw2)A%e!kG=W4zg8jl?JsObfI(^S#s*d z^Es4LNjSR8T0Fr^q$gZns#V9fgIFWv^_vPM;SNv42D8U{D`%pHkHJPM1-d^M%lYqG!$LTjwnEYXQ4{7#D3`W?2Ep|4d%~`9Yj@(p z#q`2$ugbs^TXUV$iGZoBNd+|2>`*3=+@YnKx(D&xUGx%ls|`lDhZ(q;QEAk4`y?U0 zs5z0;1}&~$1DON_Fm*(e<0$E#;zUnZyyrLT4D~*erIHtn|Mib1eA|aKe7wfMmrU*^y>F)ph zXIs4gXDo$FwVu4n`#Y)gWtHsNPme-=TY68N-Nn1#ImqX4cQ%BXAox{{+d6Ld%P0|% zsufsfAt)%vqc%YloOm7TgCoknYGV=Tq8(u<)F8px?wu;F&}u}ax=Kw%AZQTgz94+$ zvfj(n3JSdRf=CS-D$Oj^h}H7Yo3n>H!o!`%Em9s0J+#T?M%9_d<;oVq zNhdWNcRJ`HoYjfA5ZO``wo*t|(1K2r)q-5Fc_LP=X$2##oki&cIZ|uT*q~oay$Doa zR662+(otZzHw2mnKG5Z)AHoPG4nPfCJpTr$0e5V4t3_eB6BMdtvfIVGqgFb7yS$ta z{&1T_C^F>p3M&L4W{VKo>o&5VzX84UPHQmWP0GXOp*`!pYy^`6y;hOU8c(G3e)(v! z1)joZVEUx-`IxBQLABg>mzZ>A?t?1F`VG{1Ehv3AaU7NAJ~KVm#KMB5g_^^LLRY%Z zzD5@Jv@c0;_8SDk$E5S41?z*F^Xv6-cvbO|60p2xxD3`*1-udw_Q)73%MION5l%@SNpZm83{OSBIhW?=Hx!?U9 z3Gg9CZ%$OSeVMe2TU|*6x1g+MrfrwNj>XJ`hDNRaSJ63Y@XV$H@6`Gsdo`#D0Ht{7 z-rwOk^kWpT%HYkqpLH(-3ejPWSK(?P03N28aV=ZA%P|gK7i75-Yi8j&DK2L^Kgc?S zgcWDMugn2Ju*ALvP%lNOE0e z!EDYG*{$ZeNDOkoUQ4G~lHD7^2l7np!7;PqpUg??7#EChe|mAn{MIbSxEYt@QjE*H zZvW4pNKD(U@<2&3*A?QD>0OL)NnN+gm~{^$t1c)ReC~xYHi4Noiu49geqvXkq~4UG z^jWD3jXkwvN#SPaNI5eyg0AtiBjpOtnm1U?y9Be9eo$P|Y`GBh8q_DEiKGCSsuL$o z=*dZesp1;wf?$Nt#wS2Ggp&Q4?GHX)eVc3vI+>TUMtE$ zurz#Ww$38+kx(3kg{G;quJXCn%NKnw(-KO9ZaaA+P&XcG_V|INrj;SZLyW*+n4n@7A0*f0{@f4Ot z4iI0NlxJ-&ZOhl3Sfr)+lstJ@5T6jY2K|lhr&p>W(`-b&zo5zMld7Bko)kwg9iErt zA6btwFV-Y2D;m${|M9hG?Gp1v51#B9CMOF(EO-Q#wo|z#d(t{FXHB)~YTbDtEtW_# zrpu)gDIb{pz0}#VgPA!Re|kHDZ%gY==a-R5ACnLwWDO2Zi5f+D+~*+NL*a8D2FiBK zE_45kLvDx(2`SmUu&M{(gsYAmP}M25JMo>RY+jZh;IGZJEU9lFe!VAD=KF5>v9HeQv%?dy(z?a%(#sZZc@-v4C8bbX<(VUyd_~`p7D(6| zrsHqR7AJI6w`6c-+2~AtE>=9io{vWlHFfw6mQZL%YbQnTl8N6@3Mxx$BcJA zxh9=P%B~ro44R9>hoiZjPOEpc^o{}Uy%|4!{Ook|)#K;8kKVmhho$$=?~R&!M@PN- zyS<}(J1;r3vQ~Ncx_z|q>~Vel#p~x?4!vDlT-hCL9zNMR`HCQ!3Q``Fx3`a;zgl|L zK73JLdD4~VW_reW{uMF78N25G{d)`Zw{Cn;HH7?E^S@HnXQ={Yj#}bqf11bfoGKT-XWLyE-Y{>a`f-$QCM&EdQIdd?$YXfO(npZ+>avZjpAT!59AnYue4%UCBm4$U;7Ke*SYTr+NzJ~zHnEo()*FMI}8MM+oKTTu|tbRn&*HLY!oDIl%o zwQ>*kY4PkUr}gi57gY0a$Uhc2P#%20dxwJh%)ZV)zeLgR@e|EIo+A%A%HExxFvw%r zOc;D5=_s!p{F5}x4!jYIUOd}tEDYilGs2)C0eV-?tj>6Z)peyzyH~1&P%bHAL^&JB zf!GoVd#l-Py|?UP3{H!WVDCv{L|<;F%o(FG^vn6b_;sn=>ER{Q38P+5rDTrkq+?OM z2Ad1fKwob*y!tyi|3_lSwrH#}W43FsUk>WTlfelJ#B|L|DZ?3|9jh3dB?cI(Ceh8XX`!jTlqVhf& zHEv+0kJTWhF05JZft3jn>@-{1+|R5BeXW$z7BWg?rhdPB)>)Vc4JIRqHD86f4%rcA z&Aa?O$4M9~ompwRP+3QyjCjfypb0K)rGX%^r;4h1FepaV8I|i&b24u^{X&YW%SsNq z#*iB4cV#?HYf4^RgKQ~clrp`nGp5yBx6PW=IyS{rHD=@{tWv-U+yG-y*rY{~|JFqz z9Kbe`myaWs9cDvVnR+3KwpmD0{-(FJI9DE4-?cKxngQNB^Q6JIQk4exfVy%epP$vk zHlGpm3b+_280b^kv66*w%)n8H^AU#|>3dSk?b%xI%@2t>OeS|5FRMDsnQ*fCaLCq4 zdf)e04_l%%R!D3fI{=>?sltqhnj0pI5^PV9EUUzfkAym_R07>SnIO+5(I;xI7lu&9 zH4(8C$3byL_;5W+yw6$>;aF?_Vkg}GK`7Fd-|EGfId37ES$pXE`{ys#yM^tc^A4!r zO)>LPnKGtJ&H6Ql&CC=pM$Slrx2lbvfxL~Dc@8UTAN$tv4@FI>_DZFtmkLT?+7j5k z-?9PCNpCupBZWF{64ddYrxwtxqJd$~`_(EBtL;vxAdnCYYv#Uo%`yOkAWQ*&G-BX6 zMUoKl_jnHK6bZ6YaRG@W&qoMISwQjQQEr9jx*eyWh&p;$sD=aIPE%C}>lH~0x{b&_ z4y-8QQHu!nk2key;x$?b915_ew#bFts(BlSg9ckPSPWc5CTc0~jdkF__q)6NB0Oa^R6v0~NbyzJ%OleO*!21lf>U=EsNyA2 z8KhfSQLW`5%<$M|=$DXO1Tn%6*vhL5YH+~lUc5_x@9C?=BG7CSS&+~j9MY|*lg^R6 z@vj2OB;N$wXg1~a`~Z2-I0t~4_JySW|v0HEc3 zsa;X8G(3ycu?{pF@7d{48XA4ZvT6aQ?Tk5G3rTxV#UkC+Cly-Gf@Dv7`>oJSB#n6n zqLfaz(cOs+2DonKRae39LEYTUiadv{KiNlAI=4o(4q%wDayW!^&N!GWeu~?F(;9hz z*NjfdV{>=h+RPX9J5q&5eBC66LL6(jHzbsfcO;IJ1Z98pOUCB6aWNjwSoxP)@c9Vo zzeu%FVnO)lt}z}a6TBD?Kh!5GU9k9rT~iGjC|RaOIW$H@jJ`dy)1yJ_YGaYw zX*wvN5;kqD+=w5N$W5yv5=+~(EHXJ2-%3q!x0Tgp633@1Y=yW=fGANvq>w^|!HZC( z6lBGwWS}06SSiCoYRy8ms*Oz=^5Hp_6t-jzn8cp`mEzkrvNBV~EO`D@!&k))eX2p1 zHhs&mmPuT--LmVedJ}^9A=Rq;vai7~TQvYqcplRl!tE_oWPvdxj+j0yZnzZh1@WqH z%L$r+Wr3^r>F|>2!M4y!7x+ZUlea2C6dS*8MY;39P>is%oPbLacJTi7`d+JjXJh@O z{qo+uC;v7>xjF6Vvn)z{V!5x#xd~(BNjKZed$kuUZw@-Gz18v7;yGnL0@+|Eok+^M zX&YhA(R$h9vzPL8{a`91fkwc4>m2zvBf?xBCPnYftH#js}UtfE?cfYsz@Y&vKW4Jh7 z)=mB`F~Oh(W=reMYT8`-x#wT&|4eJpFHvMbsjYhXr+xYZr_Ii`q}Ox&)4uujX76a> zaD9KU)!QB}Jy~VI3urgFZ$9#F(n(&dR(PKG72~W+(R`A>AK5%%-vsjpft*bjmf%wz zW{{F_goyGj7qiF(lQ%>QpUA1+ab^Lz$HRangKA>{lWhtI!NlfQ)}PM>+hJhLML{n243ny#7#ZVC=J67Ms4yZf?0#KL zJ@bkKx;`cF6;7JcDcovV@=&CgD7MbrmIY|D7byjbTd4aU?JpT}a2CfTwc*XCK(Sm% zOU9M4Q6lM$2P7^@r#oEKS{1YK1ZKK*3c+TMm}|^!kPI)Qz|2rE!?=0V^>F8RYccH2 zI2o5JV0nf77gE?;rt&%KdVQ6zFu_Xz?+T6JRuTR=jM0XuumC6niGzg-FbB#OGKk@K zLpOOAge#D5jSdD#$fLrD#=X$ypHz9YTZMnRNE%y#!li*HeHuDZ+7DYFkRrV`l=RYV z;Gs3^J&VW%*v*H_Tn9>gInuHKI8n%qhHRyU5+;S2bk5t0h#n!jL#HAT)~-w{6IaTB zE&nA_Ez=niMysLY#e6hdr092|Ds#}ep!*PE7>v;gQTQew))h*Kj5uo{Y`ZwIC0)A#L5>YVoSWv9G6Gcc5m9Bt z&L?svAULd_lB1xs{tnd)VI6P}>np4TQ|@Cm!?VR+P;-P8{&>>J(koyAgsNj@jjPK^ zzTrl2y|5sW7ZXp5GhI{aqRVNFu+Y+hEFVN}X1A-Ohnw*P)vRW(+QI~OyEk>-cI!?0 zwd#xU!k*wy_2uI z*6ot?UHea5hScNM_5ubD8f3tDU5frtUp z-@w4o1}IYm)%f|5k1ypYWVxNazwvcg=QY1^3^M9UE9xE5X%op zPD{?fLs&F|lM2A$?1?Jvr?Mv5+u=FvLPaxpov56(5f(Tn#+b1Z6d}(+O;f830ha#H zj?z2>KA8SwNr|p;w#5<0p)@5-U#p-4ylGs2m8w0+<KD5HgQlQHdbobmVl&d5s(v+G28Nn=7 zN~m1&nM_yHfNTTnd`f%O76X1+RKbu8uux%62G5NHpplEY^X?!2<_~`6yRy0g0}^b9 zRQKpWG@|1p`~_giJGf}~ayucJaL~gVHcM@AsbxCD8w+v5gh3u|>;VMVQ!NTmrgF+7 z+4ke$h!o&k;eAv#E9!zKNX;u{e3Mlref(ulIwF=G0%XkwT~x{%}Y# zBnqJlw^Oa+OFU`1%2j@g6l2XShJPv6)OR0#xz||!^7ZN4;obX>cQa)(cID75Y|zMR zUoD(zK4CmJeM>fmR8Fr{w7veumz<<$PSf!oK z;_}>(HC(mv_6%y;qgq{q?Q=l@$(+H+xIn0ViFC7;hFf zR0Vx~&64&IuM&fiCnt%XX|87jNq$;n9=gGSCE;WSO$W1s>Ud4`N@T*;a6;MNm&1cO zp?*_h1C8JSTBVm7!-imaS*yeskBZJZb(C~q7FMMvo9rGiUzzDCvt66YZbue6f%c+DL3tQoC?i##joJOgLT`4qP-~626 zP$uS_S{OV_`bto4RAkW=l%)EItrO2ma&-K*0`FY!L2GUn40kjbpRW3lM}iroek2ni zFFZ3$gjJX*!iQ^&s+lQX46Kn6mFAmV?B$-sSkT1$qX}dT`=o>=h+#0~ak@fpskbPw z_6hQn0y$psu-_K5fn5cX;SR9s4F*3d{1=g&9qet9EqW&SGritQ^Y~!k7wy7qtebez zoiW5duZ{;~4a$=(cZC>EH1{=Xlgi1q%VKJsia?R}(_{{6iX|SB)xUtnY#tOQZPjsX z^1~jy>*&7G*vj#+j7Ejc!eBZ+F|_>XI*2G4G*4aTR0lMU7MenAQn?0;4VD%$0^2Pz zt4Y`6F_cA88xI1}Kmt#Fl(i7X33DK}p$Rpri5Mt~=epgZL=q>}PwK=kl~1Q5KLEn$iM#LeKhlQUb>I+hW7tWEwT-yfi&!Eyp1wb z%COnx#2&#wf~;;<9`bb9 zYal##QPI5Zo2P^Qy6wOcbS~ zwWu;j=Y%nea$$Bx3=v`C5l2_$!gK1npY5l$J+9Dl;DJ3}c#z2MfkM=+atAFzU#e3q zEU+=IOC;hE71hu2@K%C%fjLg|NUJT7wa+#UG2V(#hxr);Z2(IAn zv9=p*3_?Ya9!=JRJqUB+*$bcg`(^}Y4`dN@K%9BjLNTwuy z+_pk66R~-1PR`(}XkcM|L}R6xkP{3~tL18UqZ&P4Kv9g?_i&P~p4gfqmE!e}rLrk} zl}Xq^w`-aIi+Qq`BU?=Bqo|yzbG#fHlWWa{LYc(C?U4K!2WA+ zk$D*skqYAAEDaq>fnjbTEfz15*UICLl+2?KTC4y=F%>WvkCG+|z#ByerCfQ2=u*+U zp?2Z;UH|G}1yU*{u-+oh`ZX7-Tewg47J&t~3jdYpY1v9CQu_CGP zRL6Bl1o6g$?ijw(4H^U0UxL=+VLZ4ozi@kTah`emOJ1vStcseI9Lbz|d+zqa96xx_ zp|(q~^u~kvdkbIQNkcteSE^q8qnvmfJ&f2^y>{uhpZ}14E_H}553t#p$ft$Yi@*QH zlZU-s3cOTzUcDW?ZtN!uapS>Hrz!X$vOf9!hfNV@ml50_>IPk!Nb$5Xu5}88Bd1la z&+3TNPrvF>pByoC~T~grYOl)Z~qCcN6QLvwauXG$TdGn|~tPWazh0;K+{SXqR zfYTVw&8wmslMy4ik?tPzyGj2lLtD(J-W{hB}#~eV}e}a>eEx zwwgAX8M-mK+v22?rgIDyhL8K3uzby*891R(Y4DnbvRdRO9)b15KIxZc(Z!tId-h5c zSv3g}xkf31DmP&XLpq2vmt8qM8#w=E7emA>u6U^!&8ti#q@f*S+CT+9PdD(6jjTdXc6(plo zP&e2`bCY5$pvx?94y7LqI zVRSni-F)|EIU5!VRv~%ltFpGj1UDEcj29hmxj_M*akGgEGZ6qWa)UlbXJn@3AtIh3Wvv5uN&(23wb?E2al>HIE+#jNghsph2UpMnCm2|OUkPC_kG z)*r;DR-fWF1m%?1QC2bCMgT?50x#LA^sx}wktoQn#qFmCW z3gIx#7gjE{Hg;%+)F&9KKZRxPxHp|ee6M&{bA@3W>NFvh(wr+jda2P`XjDC`qUo8h zteZI!Ws%TyNkb;_S|=kG`z$~~b*~|HBy17fCmC8E5!Gmo;OnB(k+4mg9=SkCOF&yn z#7|sEdr`@Y5u41Gz#}7S_J_3K-Dq;D`WD2yUUzsOUUQSiwAeL2WHPx1i&n8s7W(pFtkP`bU zgD)viYM^|VDuY(NQKbRQbb&b!9>u^sBkNqMoaQ})zna>wt18sT!d_1wPn_Mw2poek zw@Lwv&(TDSqcU#DCSD)2TLl^_(O`QbL^&M>btKzD$#x_?;4F^dwPHLVK@EutKuu^S z^bFGOOvkYPOLno2yN)XCv7u~pd*cU7=r#;<(_FVlY*Kzf$sp<&8!FT|@gr3tksNke zK&24y01B#X`eq$9bX&zGLTSb`CN!j@(0NYKVL=!QU*PD(_B|6O%4IZ47(ff8;|MH5 zWK|3t@tIA}(#`LIVlbHzOfChJd`#gNQ%iTf)wsT9ZkXJ~P%_aW=<=F{#;ih}g9vwo z%h;5PVA`+=5)?6Q3^_}AEg8PijErWlUlEHCVjYEesPMovAVEaR$%{ou&$8xpfuff* zrhzVBZhNU4E4D5rg5a^0Gh{;!8s(}?LDx3ob>fRTYTzSmYZJ>l^X(qakv?HmK7#~v zis@YGfRkf2y+*sayi^q{txZv=h`OCB2H%5Rii zH&vv{Z?Iyd`gVCKZjTnsfP$;D3dh(imwQ*pViLmLL9nU zsFw^C4Uv!azFt~y?!O$aoc0%<^yfCpjCX#lH=RZr?A?C5^|-pSx_5H;a&xKre2D>0 z25;6HUoD(8Yg>=+emUCW(BZ~5)Qjr;-1Du`>+bd;hdP@}J6pZ--Nya-(-*BhyYpA4 zy9>3|&QAG$XMgq4OU~-;EI)d+QF+}tI5>IJdHmIMgT47z!~}z5e^&MUgCe{6m;dvr zpnilS4!9wKuQ0Pr(Pj>uJ-u4?aY9(-~eY zuoLf#wU$0d@n4~cuAC;33xyIL`=ZGGn#q-(sIlgPPvw#jemGkW%9!b<(V|>W%H$*w z8WNW3DM{_^zyOdRA<=)uW*5PHNZDWfs8nQ=wH;b_N^X0GK&O1t>Wn+`{m2bODNJfz zng=*ss+8&p0VvYuTJWrLLrSZctZHRQi+-h;H6l_|wsahonX<$<6P$hlzc=c23G(Es ziKn>bZPQn-b(6ku0LBar0oQPb{ZG?9e;So~7n!KbAUSYo-a$aLKl z`F%D6tdytnL4cK)Y5z0@tW7#+USqTh)4M8E;aNBbsg`nJLvaDyz0$+6!l7A`w%;hN zm0n|OSPcj^-D_>`q^u@RMtm0*!opiBvqbP^o6k!d+~C4iXpQ+|NR8l7l9__=ulr z9%c6~dKonAhOkYg<%pi=jB%@v1T2=+f*(GU!qXc1#Kq780Rz#U&re+H%+Pc zXJc-1kLY#*Ho|}ek)*hk+X}y-$*Aj{7mbt-W$>2nXGMZw1_d^tf%Ak{)%C~Fs#zN0 z8MQH^9iFM6^So!hrCF5J^~1BK@geD32d!GI-km%anf6Q$Ju_Jzb522R^pe1GNeR=4 z${Qm|>L5ZuUY&F_3#pZbPbjKDVXv)oq7&N-{K#`G{ETl1R@B&UanmA#EJ9Mtoqs9+ zjB+{z2tUgP@%BO8ZzHpGx&WHr_r(A@3t(Lepu?Qg;@AFoQng_V0#2{lH7?#Y)(~^k zydr?^oUbVwa%$r()v#@aogP~u=mdT_Kx((L|E+vwpg6@uZ1Dv$YGMzEvCfngiq7ek zv84Eb8n;Uumb(o!n~vmFDj6C(4|6u&3NQ(J4Y@Wj9MRT-j)e-yX{u`@ka5#F!bJyD zQYRUSOsNBgFNh#3a#=WmRHB{hHEj83K#SQvgCcf-HEsy>v35gs64vr?19s9WH&l3h#v1FfMtWH@|Jcp%pN zt)@@P_h_%tG9wf*Y-3+o;2^T(Ejuj`F|^jbHYN9MPNHQrkPy6TBiGld3?!q1uqQiw zdLhI-3KhfoEQEL|oag=7e>H{k9kUm&F_0${%s}{u=AG<=v}jrt_8;)+`&Cw{`OKtf zy2j@Qvy%2t4NL=niGRE5HKb2Ye_|W%K3OU4JXw0Q`O1}P$f`{*3n_v^wzQay%7zYO z8jz|ae`t4xJtBJh5rqy#v_&ddR;cK^Qq(89CfcAh*%6cnTE zw5n;4q}%5Gajt+dxN`Ngy-GVnl39!kChjw~#zVuTAd;1;=0kvH5!Y36Qtcn@*|m;T zck3binl6mEGq-IU{A=;el`JF&A?={79eZjIA)S2)soI%`7?v9nwqD`dF7%>n2_u*X zMVKDD3)$Tk?%r|b!@N_$IW3Vh?RJ%Ud?^O%Z#RPa2O{w)A5#3QsYiC_0CXsdmR^?# zQZm5|P#2^=eE{RbRBpD1>C^3A&o;Tf_au{_nuY-C326+N)wh%YZ#&l1J2#tCH5&(G zTP8f}_L_xWBnxa&P3O*9$7|8E>Xm=p(THZ3WZGA)23x&r*eI8!xp<4<)bFoIk8WpK z2`V}n(;5t)rK4BXQc3uVg8)U2r$kAQ_@~A#0#oyy$U)(OqX5C~_6V9?SAs^u&e|Hu z)exd-Ve+`Fs10I{6$X-lA(@kX_@$&TiSSj+Z)^}bgaw3WMvOYIN=Hfy4ib(<11m+* z2`;5B%5CLzx*BDEe-#7OEQ9}2jj}d)y3xDef4u$p)mICh(^iJpu{6L#R#@|h)xH|9 zgRfUZn6OwXsy4KYG3VtbBJUMeb=1^3R z&C2>$_ug#pt@Rh5ZoGZ+6^B-Puiu>1UcO(f9F*^F_1;XE*O7lkOmN2Q_?Tk&`A_7x zQlY#${s!7v#&kufiS&`1#-gZSnt71 zzc>jwsmn~M1EmhC$BV`3a1x*un>2}qhcTh2(lEsZc@sF72>TE7OywE4Uk;`f->Z5<4!+8W9s&KrCgpc?J<3=-HK;RJB7Jb`r! zU(38HQ=dU)VRbg;4}<}-2(DNx7Nwp_?ZtW9vLU{WNZ(oB$d1+4e^7!-7%UjWTQ90F z;|v;}JDdk)%H3n2)H?)Z%VMG2%06}CW5SeBVxtF0;nh|T9uOOO%i^R~(!@QEX>1sR z8le(4>n&{ZC7!ge>`GSLy+qN9#0j(tpXNOvDlb+G7aOpNTfX1wD`C5822hj5=8w$u zmN}JYCyb3}2YD7B`|J(eEx!<4?23voLsgA6u3%=uHo-Ph*+Me-!9wikc4^(5Y7G^j z)ifJEVS7;W5hZJTy$PL{ zM2Xc%APDujQ_Q?fO8JU->BO4p%7i?W70ZMfspe9XFK;~kQkvAbMyt<332n1WmdiC3 z4*7Xzq{PRB6x=oK-7og!(ov~!bH{;ZJsM|2*b5CAV>823)J3yxL;egvVdcij{WY9Y zagP|W6<&r)w4c+1$h=|Ne>QdlZBvb--9uyh8a>)P>N*EhgG~ofFetx(N2~i5YsGdY zzV0ZNG?+yO-6iDbIKxJ{?otu`7Sy|L_Xtb^E|UUm?rS-qx-A?__ z@^;FV!F7g>IKK>B6gajMJ6e0#Y~6G8$ZbMc+V3!Pqxl?q_1NAzK(?boWG(7Sz1;Em zkNySw7qM^Wic1#aYnE=|CU(-5I@r`GO9UpX^`G*ps_fUk%y)-?Oni@eS+I~1=GwTu zO0ej~Ye4$rkXF1)l!!IUZU_a!m}cHgxJ`zAPfro$*K8GKKew^uKd{r&DPSf+R^ zML1-KtC5{qt&>iHfGH%|nEx5;Rk$}yO@13f{RZ5H?(8{027ZO;7^RzBG8_r-g7#QH zsn*d@KVQtWP=Lt{$$AyN$v{nkguA%6RUc`Lnk7qK%8(Mn-Jwlg%oE{bgF9GcES+oD6; z88g2;>h#prS{AE&$Q(t5=A9O8)|C9Mf3IPCg=?Xm%&<;P!L?+*%+V0HfE_pS8(Bn_gX_Z=$HyrXrX>Mu7Zb1K)TJ? z|CruOVI`MoQeJ~UL?X*Ps)keWOVs<|W?Cpir`igE%I+fA2K675^xvhL5uX_|4w$S% zj8p3M8*o~OijcJv$m2I_gVy`^ZC-L8WtLYAsQ0Y?8y`h-yN7sayaSHPXu1)O^t6BI zvoOa2_W*27*sAs&B0_bhbWk)FjP4~qNO&>TR=-7m7*SDTx11pqkoah;y{2v@5!UE6 z-RkBe!>xjU+0<_9V`wrbUh}xzCcWp?L91^yqg3`NTo`FRad8kpd}*4q$}{N>SoEEq zGHv)!YGVc0HRVvD6KNSE%xe9ra}Y9kiDh)??&rG^oHXrKdmY_YWZ|CH(Si!cA! zkN@tE{SiRt%GI#*vDUwpI+|bhS}K-)U1e67-o+v-u?a59mNxk${+xt}Gr^C_)iD{# z^v{%KpNJSx#>=PeN-bu6vL!jCgpUr!T^h$jbipx@$|qn>m>Qf3laV(2#dP`@@iFaI z++$!g0tC8iwca-+w@6T>fwx4>=SpWy{%|D9E0~fGN;~7~p_xXog|M)KW7C3e2lY1W zX6TY&rtqo<(;c=AS(FhjH^@C2cOIx*Xz<<|<|U5diS=MTS)75AFnbO2;7SCLhw0F+ zlFHJtaS@-y!cOS-@m4!V1Y*9jQUt6=b)X&lYVs9XDJv?e+W+S6SSgeBO$e4}p@yOE zR;x?F(Z_-eVfmSmF1%fOEN8U{s$|rYV2bwd#$@Je(XUQcCpKx;Clp0}co(C&w?flL z@}uPx&cjYIjL&#L=NTRUyvpa9@A{E4~klli&D zqx<*QcUOBGyIcS54=0w$GM^&qa|dlN#ddXi;4i;C_H!8GaNzr+0=juBFFr~jxcM4N6Rp+yAP+8omF;A_UiBQnyzIfEb++h*LE>?iRe7| TMdC~kiaU$9Zb+NIOtAhxFj%Wr literal 0 HcmV?d00001 diff --git a/packs/blasphemy2/CURRENT b/packs/blasphemy2/CURRENT index 1dec270..3f137c9 100644 --- a/packs/blasphemy2/CURRENT +++ b/packs/blasphemy2/CURRENT @@ -1 +1 @@ -MANIFEST-000149 +MANIFEST-000151 diff --git a/packs/blasphemy2/LOG b/packs/blasphemy2/LOG index e96b66a..e761a2a 100644 --- a/packs/blasphemy2/LOG +++ b/packs/blasphemy2/LOG @@ -1,3 +1,3 @@ -2024/09/04-14:04:37.247 37e4 Recovering log #145 -2024/09/04-14:04:37.254 37e4 Delete type=0 #145 -2024/09/04-14:04:37.254 37e4 Delete type=3 #142 +2024/09/04-18:13:26.228 6288 Recovering log #150 +2024/09/04-18:13:26.234 6288 Delete type=0 #150 +2024/09/04-18:13:26.234 6288 Delete type=3 #149 diff --git a/packs/blasphemy2/LOG.old b/packs/blasphemy2/LOG.old index c6cc8ae..e96b66a 100644 --- a/packs/blasphemy2/LOG.old +++ b/packs/blasphemy2/LOG.old @@ -1,23 +1,3 @@ -2024/09/04-14:04:33.256 8cdc Recovering log #141 -2024/09/04-14:04:33.256 8cdc Level-0 table #143: started -2024/09/04-14:04:33.259 8cdc Level-0 table #143: 492 bytes OK -2024/09/04-14:04:33.264 8cdc Delete type=0 #141 -2024/09/04-14:04:33.264 8cdc Delete type=3 #140 -2024/09/04-14:04:35.392 b604 Level-0 table #146: started -2024/09/04-14:04:35.392 b604 Level-0 table #146: 0 bytes OK -2024/09/04-14:04:35.394 b604 Delete type=0 #144 -2024/09/04-14:04:35.396 b604 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!folders!0Rx103v99LTFoMTP' @ 585 : 1 -2024/09/04-14:04:35.396 b604 Compacting 1@0 + 0@1 files -2024/09/04-14:04:35.400 b604 Generated table #147@0: 1 keys, 492 bytes -2024/09/04-14:04:35.400 b604 Compacted 1@0 + 0@1 files => 492 bytes -2024/09/04-14:04:35.402 b604 compacted to: files[ 0 1 1 0 0 0 0 ] -2024/09/04-14:04:35.402 b604 Delete type=2 #143 -2024/09/04-14:04:35.417 b604 Manual compaction at level-0 from '!folders!0Rx103v99LTFoMTP' @ 585 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) -2024/09/04-14:04:35.423 b604 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 72057594037927935 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at '!folders!0Rx103v99LTFoMTP' @ 585 : 1 -2024/09/04-14:04:35.423 b604 Compacting 1@1 + 1@2 files -2024/09/04-14:04:35.428 b604 Generated table #148@1: 109 keys, 53881 bytes -2024/09/04-14:04:35.428 b604 Compacted 1@1 + 1@2 files => 53881 bytes -2024/09/04-14:04:35.430 b604 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/09/04-14:04:35.430 b604 Delete type=2 #95 -2024/09/04-14:04:35.430 b604 Delete type=2 #147 -2024/09/04-14:04:35.434 b604 Manual compaction at level-1 from '!folders!0Rx103v99LTFoMTP' @ 585 : 1 .. '!items!ziiFc860EZanavt1' @ 0 : 0; will stop at (end) +2024/09/04-14:04:37.247 37e4 Recovering log #145 +2024/09/04-14:04:37.254 37e4 Delete type=0 #145 +2024/09/04-14:04:37.254 37e4 Delete type=3 #142 diff --git a/packs/blasphemy2/MANIFEST-000149 b/packs/blasphemy2/MANIFEST-000151 similarity index 64% rename from packs/blasphemy2/MANIFEST-000149 rename to packs/blasphemy2/MANIFEST-000151 index 6e006ad700ccd84f8a08e760484d902507bcf1ed..391f3efe952608ddb800649e1e341761dbb5bf7a 100644 GIT binary patch delta 25 hcmX@cc#Ltv7NM(i%d@!|7@1};axyT_WMnzX0swPs2Uh?9 delta 25 hcmX@cc#Ltv7NOVopB>?5U}T!c$jQJwoss1v3jl>;2y*}c diff --git a/packs/blasphemy2/000150.log b/packs/items/000145.log similarity index 100% rename from packs/blasphemy2/000150.log rename to packs/items/000145.log diff --git a/packs/items/CURRENT b/packs/items/CURRENT index 48a2453..3e77273 100644 --- a/packs/items/CURRENT +++ b/packs/items/CURRENT @@ -1 +1 @@ -MANIFEST-000142 +MANIFEST-000144 diff --git a/packs/items/LOG b/packs/items/LOG index 09da94c..8cb1d28 100644 --- a/packs/items/LOG +++ b/packs/items/LOG @@ -1,3 +1,3 @@ -2024/09/04-14:04:37.228 b8f8 Recovering log #140 -2024/09/04-14:04:37.234 b8f8 Delete type=0 #140 -2024/09/04-14:04:37.234 b8f8 Delete type=3 #138 +2024/09/04-18:13:26.207 75f4 Recovering log #143 +2024/09/04-18:13:26.212 75f4 Delete type=0 #143 +2024/09/04-18:13:26.212 75f4 Delete type=3 #142 diff --git a/packs/items/LOG.old b/packs/items/LOG.old index 22f9e0b..09da94c 100644 --- a/packs/items/LOG.old +++ b/packs/items/LOG.old @@ -1,7 +1,3 @@ -2024/09/04-14:04:33.233 b8f8 Recovering log #137 -2024/09/04-14:04:33.239 b8f8 Delete type=0 #137 -2024/09/04-14:04:33.239 b8f8 Delete type=3 #136 -2024/09/04-14:04:35.377 b604 Level-0 table #141: started -2024/09/04-14:04:35.377 b604 Level-0 table #141: 0 bytes OK -2024/09/04-14:04:35.379 b604 Delete type=0 #139 -2024/09/04-14:04:35.385 b604 Manual compaction at level-0 from '!folders!DYa1yCl9CNfOahIN' @ 72057594037927935 : 1 .. '!items!zUOSvdFDFvXZqROE' @ 0 : 0; will stop at (end) +2024/09/04-14:04:37.228 b8f8 Recovering log #140 +2024/09/04-14:04:37.234 b8f8 Delete type=0 #140 +2024/09/04-14:04:37.234 b8f8 Delete type=3 #138 diff --git a/packs/items/MANIFEST-000142 b/packs/items/MANIFEST-000144 similarity index 81% rename from packs/items/MANIFEST-000142 rename to packs/items/MANIFEST-000144 index f2443a5358c609236ed11ff0b712de92d793c6ee..420d4cf0fdf8b50f3f64a01d23be528deccd95eb 100644 GIT binary patch delta 25 gcmbQoIFE5ckC45-yAU@6Bhy4iP6p;lj4Trv0ZrTm2mk;8 delta 25 hcmbQoIFE5ck5Iks>ZjZcj7ZOs7@2H18JKNZx)=dv)CSl9 diff --git a/packs/tables/000139.log b/packs/tables/000139.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/sin-marks/000060.log b/packs/tables/000141.log similarity index 100% rename from packs/sin-marks/000060.log rename to packs/tables/000141.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index 448b6f3..76519d9 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000138 +MANIFEST-000140 diff --git a/packs/tables/LOG b/packs/tables/LOG index dd1cf1a..8dc9878 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,3 +1,3 @@ -2024/09/04-14:04:37.258 b708 Recovering log #136 -2024/09/04-14:04:37.264 b708 Delete type=0 #136 -2024/09/04-14:04:37.264 b708 Delete type=3 #134 +2024/09/04-18:13:26.239 320 Recovering log #139 +2024/09/04-18:13:26.245 320 Delete type=0 #139 +2024/09/04-18:13:26.245 320 Delete type=3 #138 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index d489aee..dd1cf1a 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,8 +1,3 @@ -2024/09/04-14:04:33.268 37e4 Recovering log #133 -2024/09/04-14:04:33.274 37e4 Delete type=0 #133 -2024/09/04-14:04:33.275 37e4 Delete type=3 #132 -2024/09/04-14:04:35.381 b604 Level-0 table #137: started -2024/09/04-14:04:35.381 b604 Level-0 table #137: 0 bytes OK -2024/09/04-14:04:35.383 b604 Delete type=0 #135 -2024/09/04-14:04:35.392 b604 Manual compaction at level-0 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) -2024/09/04-14:04:35.394 b604 Manual compaction at level-1 from '!tables!XY3o3oqawjUe6Wba' @ 72057594037927935 : 1 .. '!tables.results!z9VPZiT6MhJzjO6v.vwR7xQw1HrRWhrQn' @ 0 : 0; will stop at (end) +2024/09/04-14:04:37.258 b708 Recovering log #136 +2024/09/04-14:04:37.264 b708 Delete type=0 #136 +2024/09/04-14:04:37.264 b708 Delete type=3 #134 diff --git a/packs/tables/MANIFEST-000138 b/packs/tables/MANIFEST-000140 similarity index 71% rename from packs/tables/MANIFEST-000138 rename to packs/tables/MANIFEST-000140 index a3662ce0be5af6786b42c7545c8ea9ec21761420..3bd2d22ec40dbc64bee0f8b46bb7b593232c6627 100644 GIT binary patch delta 25 gcmeBW>SdbnTd4i%U1e?tMy6gyP6p;aMwX?F0B-pQ2><{9 delta 25 gcmeBW>SdbnTc|Tttcsg~k*S-JlYzO1k!2|(0ADBu7XSbN From 6b4905173b1491db9f01afa2ea6f0cf1b29c4aff Mon Sep 17 00:00:00 2001 From: Adam Kostandy Date: Wed, 4 Sep 2024 20:06:58 -0400 Subject: [PATCH 102/103] CAT 0 simple changes with changing CAT Level to default at 1. --- assets/CAT/CAT0.png | Bin 0 -> 15862 bytes module/data/actor-character.mjs | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/CAT/CAT0.png diff --git a/assets/CAT/CAT0.png b/assets/CAT/CAT0.png new file mode 100644 index 0000000000000000000000000000000000000000..317cbd77edfff9b8168c21f459cc58909c2cca6e GIT binary patch literal 15862 zcmdU$<8voX7lvcowl=nH+qSc@ZQHi(?8dfjTfaCPzIpzPcdB}(=F3cVSD!xJ_kEp6 zMR^H$7#tWNARu@tNm1pW=lD+pKtcT6tC|H3e;&Zj$`Zmrbu)P9KQCYwLUKYtK#lRR zA4cFm@6ZmCTFyW~807yoU@2uX01yygw3Mijs)zoy9%KNT*oxma3lHri36UhDLx7AT zSieI=P*9XKK$fZkYi{uYjuI~igjy&FOziH3SApR(&)us$kL%+i6CE8jC@GmMPShJ9ds}atMMdwk$Lm(Dy9xyo5;8n1q=tac3vQ5qF^`**(>B=e z^DUDR?t$Co4B(n_w6~`S7I~WQpGWp9gUu$b-!o3m&A~zO@piYj4@d}!O3BH|i9eQ} zi<1-RwEOdU^GK4Iz+(^CI=Sq*DOd!56tF+|K=NBL+O{9Vf#)Q{L=p`$oICyt7K64R zv-Ct=sq21%2E2oRZRcc9QNr=xak@kb6*gtQj}y}N#h&6zLTak(!>WOQt!aQ~sg7gU z(~1u3ANiJi2ZsusF)RT;A0)>@QPH9CPQUW=-WWq3em!5};aOw9JzZLa;`i~-60j67Rhp;%+kT=zW7;RYiCS$ z0;9l&_>i6J_I|N1s&{dyP_z8J8zoGJtKy**iiiLuWKa$QJHTyr$3?X*!4*!f27H0E z_5!}Y-fzp<&n7BO zNuKsycMz@P9`CRS2yD1J9gc@lVFT5R@=clpd*2KYI>sKc4faq)S4Ok`zTh_{sj0Mm z+d93VqjP-bV+q8b^Y%YOtIKM$a+PkgTGu)NZ^5@=zf7UP2k+!T@rbg<0VLE=DobC+ zpc&_FWSgiuM|DxGSPKMj#3J_T{3M4A$BBwW9c@;N$|@jY+=wbILzSi2g!7qdOhcL@ z5O0+n;)YUNEFOB4vc9PESi|ss&t}%BNwQk_-P+@eo_202n8U~L~5Ksq~#?m2cl*)rSs7CFXz+59nMdd48>kl;CxT9c{m^&2)xj29-n^^5T%+o8nfA@-?JUXqfme_GiyX#GfZn#B86nM5on^mPk#~! zS#(DsR1gtErfgQ5-DVHcXG^e1tRQGuzNoRR0GPkhcQ7vX>7Q)bH79$TkBubsOpQkw z!34qhTGaZGKz1p&>na>k-^4SX=p?h59Ii(>ob`Nn2T5l<_bta=(I!}NH<8kBI+uYa`}g1T29Uq zw!b~E2hpJeGF&Tbv~qpVT(8O9<>XQ&bT#aa-YBIFzch8aYQmIi7u!I4$rmU#5C5B; z_D%WIVZkC<#y>M5U&WAktSyp5ZPTQ_XM7AfjYt}z6P^29Ix59}z?t)5jAl9f$)}M*!;rxL3fVdt*47OVZvl=}Jcg=apsJPIy=_2Y`OPBV2D<13?K3uIuqQZn zgQ8SR^&x;Nx%|Q%1A?!Nn<5azvY|g1vYB$H{g0D_Br2=z8ldjB=UpBYDN-1f>J7E$ zs|kfHffFnbhs8ipx5og#M{c<&ciqNN`DtIV>qF=qh(P-#mxjHz;<71yH8UbM$#{Or5RIZRC z%*x^05RrUk6j<1!UkTF<@FQD-RV%eo4!7wn@z&%Ib3qsTQW+1ZD1@`m8;;T$EmS3w zbrh8Vdy9XZSi3Qf*s4xuu>PsWzYjgdQnE@{5HjvoDh{ zwv*5$IUT6cc;+#ExB4=JsX{|lb>Cf#`9Dl^P|(m!TA_wpi;YSUc#49n+B_8bk`hTK zq}$70;-Q68?W*7?JwPu+k=*mFt`0dC=3AyV?_+m6(n&B|XF~#y87PZ!97=M=xt=9< z>rKN~&9nSA#k4$}s=u@^gbPf=QzcsKU}k$iXF}j{gc8<|WSkPn$f5rI{#_-9z|{h9 zmrCjr3tEY8-|R1pVzitif)8EYacL5XFBaGmk5vbz?-nRAZi#Ze zD6GB77&O?GPE+OY09EpOJi8M~afJ-0?k{-R@vfiyZfI1sy(*0bb+%ZBNuHWw4V+t& zwn{iCslZCo{D#;lIo}!icq}%zqESh}<$NHD^n9F`sFd4Ua6(W6r3aHP&k)Xtnxv-A z*eCA|+GFOAK3rDmk&Hq^w{z1vHE3N)v6{n~f_bfeuLV+qiQ|8>L>cZcTyX3k2!*8+ zI?JghTTmM%Ryk#80I4nnWUfUe4YeuTZM)?&wiPqMXjm;wgPnflSr1CY7|vSn1ro%WMGfLwy|_Sh$ji#xV&$HhE}z#4 zM=Kl9**Ss*dn~53EG&1R%qO4o9fCT^MATu#V{ycaIuyOaqr^7ZYrh3`4Dd}dbnud@ zgCw#V^1faMkyM4~2;;4vn;y&3d+dI%6%9QuiQ5SmQ3(}QMqo+T8$B+WGxV0i8R4b7 zo@Cx0VG#JdotIOP(kzBnbE;B3zb@wAw3$bvkP8^*)+AYk&SrpiY9&z#SyHRH(5yUX zXPJiH87xs$c4r((QCja*h-Da5%PE^e2Rj~)C}nq)9^+9%Y$M$Kl?0CgDR1jJmY5J? z|8_2~?S{p_md$zKB=1XYKfevYOUv1^^xJ=tO0meF&si91%0jeQ3gX;oF>-Ejk5<1G zjX!Gu6BB~ ze$Xv7cz)5}7fjFoYL=0mD~(RVMFe7rrdLybmxW6D5cvLwxU8q}-hqJ78DTUSW~aoX zk2x19+&XZi@T(|9LmynobQcUPrG$zMBBZ53U7=KM#T?q$H)#ouc0L2umQ0${O1cFq z!8h!Hm~9l#IR@AHK#?A=(GvN?RgF+Rx&ULQSl3Esel%KkA-T`vsc55<47e_WZW&9l z2VT35Xsh`TlRymzcn(#Nwo;{#W)knyl8Ws)jv?V@A!p8^J`8>L<3c*O>jhcZSA*9+ z5=SKY(BMw61-~n`3)Cdyx11RU>9ISY!Pz5t|)dsaefslkTEl}B-H0_Zby*qiEIj81>?Nmu2tgWDw&4GL_=M%^ZHP0!oYTmoOzy@IjwF^vLs{7+~ZJuV* zdAAefnxg2HkD5C7+58A_+uZH9T=2{%GExPaFXrHl_a+O*{sK@jIAlmfP^eK<4_M6n+PAAq0PoZ57FCcoe%~|ucwPw%-M-%K40JZXwE+NNBI;bVi#Jg zb$T>*n{B?ngJJL;{ecerAs~=-MOK#DQ)!to=M?Nlz-CoZ~t$Ps> zu#{&HKR!yV-kaI!b;*Mk$uQn$ve-Ja8}j88lxT_VTy=QOAH?s)e`KuAu@ z(Zq2?f|;-_rR>H`js%YWwP16yB|QfD%*q^q-eL=ol2Y`3ZnJ5<3W|ItaU)2e z>^&|j__zO@NB&rMEKZTA_%O^^r-m?^j7I)@hSd$4N}ys?1F@5t-Wy%SS#gAHl!G9s z7UU%?OJBld@y{DGxJm86l##@mRYM6BQe;sr$*%7@SasS9gyc8uE&WY;+`epv*J#-P z@duK?L$T-f9hy0$x_Yq^9hGdlNzJi$F;I~fi814RgJj72v3P=lPg(;E=?kkR{6s6V z-~#FQG6vIo8>;>As3Hk;DwsaB5b`r3xsu4o?&9pfU;0tke)?2F>NOt3Z=b=onwTCSf6Q;;CdWfyot#iu-+5NC|&i?<7~C>}A_( z(tI6RX|o7AH}#X`)1h@Cq6;-y%;t?3iiGb(s8khlNB-BFke}22j8>!ZaH==!RGGso zK#UVN-X6{*mxzd=JB4PHAX{pE4vQ}Ku{CRi`_ERh66bWZV)Lkvxn++KrX?CP2<~&C zEr>5529{s?4H6$JdGV+i55*Q;hHqVh(3cF7&CUw=``+04T!)ATt z?FY9YxNpG#Orz>?jf87|P$DZSwQv|hqWyWFXPM8f;2wljg;D`#+vD0QMsUWWILmr( zWDx4~P6xeQDy)NIjNHK6Qp|L<(ORwRG*0gRfa;3OwnwMIyU}j{9ZxQk1}7Jq-ykM) zDTj`iBXA!vhMg0T``ex`TT=#@5=`2xo6qyxH}Pg$3E@hkQEB#~IFQO_rRL80M|*(_ zDwwHtR>r)Z3UfZ0`bRkhxs*@LDn=c|1U)P`BPb{@px4#9E5eHfW6*htjMD#bVMK#; z8(lxlV?l)?h3B1`m6{6O^1I_l_9=5doyiS@RdQA4P&{QFHwwppKI!s&@M>~9nmpYs zD?qbO*7=S3Z(A}#h@F1VT8^>O4YCGvsggkuyU)V^20YPkw6F?FEgq$^iJFQkf!%In z>*YAzAg>(r0?PK+6256XE{D7Y#J)^8MIfJ$PVS7YtgL=u#^&$PsRqpsH8PwuihCAj=A*xtb+}=R;_R)z3*-|^40`ZORw1gTB4jl5P|pJZ|*wa&(#e?q`-Kqa?4Qr6N_lAF3qXy z_Fy8wQjGx0sJT6)7JbKF&}*Uu!M`qwC16!mwagn%!{I3O{1&@S_H*o|m>9#OuAWCe zMUef0_~A<@BpW$Np$Vh*pu^=zuaHj>Dc;_A%9DpW%w8**M77DiVWD&7YDMLuG9z{; z-nTRV0TuPIWzLR@`di{2jf*Gz_RYv<*8C;8m3EdtDHs5VU2 zpP(z%8n-8EH0p8IjqcSx9yrkO{Ru!6 zI8{a4<~0O@SoWaO#3EDoY9!ZL#k?8fj`Lwo%M=d+uaXE{C7Znt+-N$rVs@)!nTMka zc*{*{)nw2?n6ce<52H3=x_wt!>>_O8^J6A?Ce>x_)*AdU4479djCCkX zQaHzTuf{EW{|y77flR@|1gylezR);YU`5SmRpPg5i0c6%uy6-*j#p@{@xCNKU*R+suWCocLxMZ_4GzKg~>?F`3NXgyvJ7jFgaYZ%fww2 z%k;=ciNHM$-XKV^$c6J1@pB@Ba02a0W-S!JTX{Ft{0XHA)qz4f{%|sipCJa$b%n(d zo;8zs-8?r-{H1I3d92-bof(hI=_ph(f~B>MczQ>3xZo#E)OX*F;7Z(Q$a90r`ozTt z2o#ww*JO*;;e%502U54F>*Sz^=*~fkzV)7p$#e2cZ^9sn;fip(UA?X^l*;HxjJHCx zDkYmLWHN^mqvAM=7DuuIi~;L^zRxM|%mc`B0;KCXub_yp>gEp7bg7z@ikHn!8$hC$ z^s#8O@Yt-E{5biyD3%G9xRY{x?#BfluQ$`#bb=_7v)~wW;n^T;&j1v!>6bmBFm?e$ zE=@myRq1ToC7(!5G%@h+V0#$hIc04w3V#2vk$foL;3q-+`!5qM&JSw`ZjbtaiZ}*fHxfTS*PvYHbrL1sPSz(dumQGvrV(%Q(cjH?}kwCqYXX|u<&}URjm1~lPT`P;BlW#;|chdAPPh(PcWc_aT*MUw!Cn^ zY$KtB(XwEz0{@MjU!t6~x#3d&eM8#IzZSYD8#$)v(S^6;RkP7>`&E?lpoQJo^@otv zG6B!`ah_paVHIHsM=nW{Ox~cwVgK`bqcwWen2B7#0I!P2?k$yEX2^vfsNDACST+Wz z`_(#44CMgfSAu`4;Myl~Ncup@A5G>GE7uy$>we{-H*suZ}!FwoK)mV z9Pd_xeBbAF)9MiCXN2VR!7cTG6R13Cb1eVx&+DL;C*v(_EOCStkXwB^zOHfWeQKV*)v9( zmMF^6dY>tI*NXts`Hot=)-NN8Hs`BI0sk+b^OaiMclj&EQJfgZxb4wd_221oFWZ=1(M|bMw}E=zcE7z$r#E2YVo_p%c2wkvLd8Mr6Q2nX zAo=zaH9bQbLr9k@fS8}7i&A?8n4uR*0=a|oEE0(%^ok_3=R3%v#+;~2t;rXk1qVFB z_5PZ&nE$*9+U@TW^@HwRoh*J%*sEP7`+6XS^%tK^-xuKgev7Uz)sx@cbar;GZ_~i9 z0)6@dyz{uKQFoqj50OdMZVV;R>7MyY3bd+p#)$nyI#9+Qnr+5TQJZ;-uEmoOS7f?gSD(h z0O#H6h68@`?rs4pG~*kZA{0y0NR5sX-9bxiUX&&R_LSS?*$oiN0aMivZKcdso7EFG zs|8c?dtDQyWZxuq_ifkJ*6Ypo*d z-?rer(bEGG`^~E|J>B(khFqT2M>Yq^!YDTK77SryMZZ2kpM+kBvyLoYC*J#W%S zK}H{9a;E}S*lsGz^#%eEtX^OLPQSwx7LsZl3o4c*;jkF@u7!dj$oD)f_J{l9px5N< zWys0?w2fTp_&hwFdMM!~MPt_5WBR||0~jjlq&aA)UoIf*rpB@_G`MRuyC1tvcu#^i3QGx5UxHd zLtpU$_?!0oNWu_~yLW#r6&b4Ayi%KG>XNi8$^G1K%&2b->X^+#rG((!0dS8BiASy0 zn`*3}hN-pkBNdiPb3+^%q~i+8t1N4(rX$qEOpZ$ioD4&}ZA+N!II$W2_bZQleqa4K zc^fq90<>y8E?7)@-K9Uy7P(pp&&(Zl$>sB|>8aH|=MIKF7Mv{7pGdqFZBaxKqep2+ z7}snJaqopcdOpAnn5*fJ=st$xDrCecDg>p}9&*S9p)y8uGpw+iV({Be>|!Ai3`&j&Y)j?Q>82yT zh{T7`(j$3c{>pPF#2X{|zSSG?a>!i!pf^`#{=YlOM4j7)(juH%q&I>+2`By&3${{- zLh(ehM9Ca(uSd(yIO0d%h@xqFGPry)pBH@S8#7saa3rf12x@em@4y2;Fh?wAoxFhI zuTmr%BetX=#6u61cUo)xZLjK(U7uJOTbqA}pCu=#2$b?Ul9`87k8BWZkz`-796PV| zZr2;7Rp#o|SGw`~%2Z!V*sO(j>NtC!0QgkfQ4MsgeH|3}H8B>NP*7=4JqC4Bsik_6 z%;r073%{+$;@9NjNEJaG6cILGv_;pWM2V4Ep4+Zomcp`vkp$D9M40LMw5(AbIUFQ` z@-TBJ_{MxxI7;SoB_Mg!1kIiayQoUZ&mgww^2?%8<(<)|hchi*s8|i7WgSzX{xY** zqA1bK&p$jvL7hbJ0SCU=yxO}0eQPX{be++iCEf;P;-#$$n6bHTVroh@Q(K#-5%7z(<|z{YrEgr8rAo<#mOr*a8}EH1Ck>X1+^4MttG+5=whc9fb#f!51kUG2Qr_`l znPNB=UFr++_7#vXa=G2%bNdLK_q1dGIObWh@ z7A<7o_nppSn+#cR?frD{BE6Pc=zcGR4a;E@wP*?qOcj)R4}@NxS@ug@Z;xvC!LD1D zuxjqQYr|3qG3kA)N#G7volGN8O5Wr9cU8gmG}QH$ltGyXq=ys*~ zmSsg)mvlq6Zt-KiO~)eU_T7iq;vS-LsG`?UaiG8M=kTx&g_Kuf(dDKh=fOY?FIf+M zr_Nmr+5>bD>(_LYV4?K86v@*ci6gPZl=yK>iNNMe996m!waw)xUH0Z&SjyYT!tX7|` zxea(0n>3yHo}Rb4_iMR_h5J$4aoy6w@9M|tQE)q(Bd*1yma|C03)Bv?iP}qG2)YIk zMPo3}qzlXJI#I&lp3ciiFE?J)?eRa!;ZbAz5SI4$Ap38~ZdZ5gtAQt;#Pgs3tjgC* zWVKg6@oXo>?DGm3Mc_I@qLad)5X<8?#sZ%m&*9orAb{~j)QyoCfq>1=3K{i*mrqt@ zzv=`o5=YGr0QH5w;asNaPHC2==<@N_4FLFx^-IZiS*XN%Mq8N0ID1 zrd=BPdyT-f>l5Eui?L4&S~6kRSPT0M>4D#;?papb8Z<$_Tjw*+76Vzu6X)^$~HbYR6?pXYdX#Wt+Ii|U?g zP(hP45sV#Ur-vHv9Jc^<_8}!*IW>Y=v0U-dGddb=au8vSnZ+KpIR`Y6G#{Dp!B-%; z8_+?}yB~%tnb7%YVin>-DrLOUVui_OzoW~OR}q$JDbiT1!E~rzTMGgodJ5ZDhDox& zWHLwU^jb}z1aSeUIWq4(*PF;*o)xhJD-n#-#XvqOry_`;>f43U&3tVLC+D{sjQBj; zYxwHmN1dCXPG+@OHho1?-=+KzvLTksjZyTo_56PSBEFwWmYj{F-F$=)Ify>Y-6p#k z{h81O*7I3B;fWwAAlW{2zEcLb=vn|J7xdYn7il>Xe#!?Zvx6s-WJxcwzr=J2@?@2e zuHIs_7$#@XhrYHsh&)v_@AUgq*_vfkp61yq1SK3w(l7$QW~XAs?o@u|?~-nm;~FAW zv=y-J$<8nogvg{i{Aa}RA1p%5}mS)%VaEy5Rn-5cx*mOTo85Fb|l5B3WvO}E+ppK`nE*#*e7oqU`5s;>E64mMSs7Km1`4KXwiD#r7!xTuzC;cK%zvk# z2jMv%xMdl$32&OhT^;H%y*&pPAJ6ZnwsQ=X<|Uv~+Oj#EcakUrFTQoolC!EdNXulG z#LCU)n%6;BBk-hu6ak^#SLe|)rD(S|F;WaxQy;U72W)9@&wmzcj2kNBFqcmBJ56Lo$x$FvjQhJjz-!H~%$( zE!ApL9N@W`GZtCKESCxsVU)y_PKypRNbz4Y3RipA)mx@B&&6cWyH^^0##anW@M3^d z(p3D@72;)a?sUgZP{3YOWtm2((}|`Ydr42%Cu^UdIcVk_+3N3kGLiM`ANkDwQ_2#< zqD!R}xVj4!X0w9xoq8QoGBVv))JyaP)9!>26+;(*q@0)=R)gSZv(;2Jgf zer0A{7Qe_kL}1`L0KCpm2>n0q7JB`^{UtQ2!I#zlW@i4dXn#&{X6AIL^i>Dj%JDot zEs`6?k)F{M5dNhRdh-FJPpv;?P%92BW>&a*el zMPqlL4wTuDR@RMk%4|)wa+R*OdMa*0)%3cM0>;|VJwtF(V{B$;FhrRhAofz-PrEX~ zI7L#@pgSeK*!Ac$ACQERE|)d+vH z-W9JbluJ|r?t^4&rMAF@mBXwnX=D=8#SK?fSZR#sanV0Jn2sK(>55z<_8Xc=B3+(F zbEJ}v47+z){WZmxemWM%U(|^FX|4yA!l*xh;@$qBd{mw4uc{A7MDDW!Oo6wvVv{q4 zSD?vgQK?qjF#!T3mMdLT+CZ5(vZ+FOPKh8u83}lub@>Egp>Bun{ShM4^Fe{aUCk1M z+L~2buHFHTR!$1NO?sMrg+62crUn$8ujyigph}a#@RYCI2Z0y{H5)g2;_PSpuHR+5 z-KN__8lBGX290V6HN62kN`<^F4l$%!azVIb;I9xVEQQ07{g`!QP)HP4U2o|QWeUu~ znx=3zpyWGV@_!UABMM1$IwJtN;fZpbpTH*<1o$vWK&C3zsesv3uCzEGw zUJG0hkNxI3#*()`PALlUxcWE;R(LzS7LOrp?PHz&qkc2!cY7TJdx@YIP)j8}9W5%@ zVXgTG#GjrRB6kV!vePRzd%y{tFUcKcvvHoH3AtGQB2&v8o*0d55z%U3d5AeSs~or_ z8>?eu)8I;&Ci_U>5&P5<2hU1B^8Hmv zog&peFU6|Hyll1}pGbeU>dt3B4iy4Ur+qFIS2F86(r%RPLeNu!`%`5t1y}cEeJX79 zUN;u~Wk;71uoF!mHV1#Sp#;SLovTRzp9&#-a z3-b~p+(0aH{iR72R@OJo;vg)OJl(y5XH==FlVz-Y9#sd^H?tsVc;~>|c3LWPyYfB> z`Pr3L%%@<_SpV#Kodd4qNqn343?6F4=!&9}Fye{0W`ROsR7bf#G{oa}Mb-Op%%HTX zPGEaO4P2|!o(H7H$;864*h9nbvUE~g{_UxG6w{objz}qMqTW#t&F-QWbgWET(yc7G zE82R~)jq`Y=n#ukHabB<+^)&}W645qw%NT0FrDbWS4N4MsV(mujVBv$-;a^DqJ~r@ zwt|k=Zv=*5yY*z$_YQH9!bPEyk)z4FS4=iESNGX}KYJ$@il~xY{bgaCcSHe^%VNDt z9yd+bFz`+7iL@iB7F3Nwd%jq{OkLIYj&&hUmHsu zKpiN80r+LdMrwKQ^8Cc7q$q`1NrF{FBM;052>o9B!_S|#UUvQCaj7wWo!3a3#^bPE zSeoj7BD%S*sbf@=!wo9f3x>N#-bfqnj_*e% zghHRPuf(5VKnwe~|A1xtY8ra3AW1YnXxgDNM!P+}0$e}Zxl^Ji->M<*hio4e8gJI< zu=~nq1mtv(Zzf5Y$hzTV3qA0Cy1>}|VE!UJIB1ut* z68qJEf-EtAWj~Rto28~PR~wOsG*QGZJdRFD%P4eR&~(}O?sRL0rV_bliR^K=RUDt) zR@3jtMf$xPC{HLA12ep{{2>5%88MGAyYCvlr8%3{>d#Z3H=mI2_Zd1Z4aSjH$=S$Xf zgEj|Z520M1qhTUNlsmIe>ho<9dh`V}ni>MVNUEv1nL)qFbUa_XbwMo*`!-KXf|@Oh zHsibJb=xn_l;70%gPJhoySU5&P0Eww~gE4jA#-s?ceq0s#Tq zqB~w%Ti^5C?A&{xv7Gqd{F%)}Y*fYU=RB#uHzc&Mu_!^>%rT9AlG0p9;9%0acw#A7 zVNoN?AWsnI6;_R;tC<-JSX2;u6lJU!`zI0eJ9~GyeCO>bc3lw$+;PKfqpumjO5|%s zrR*BP?HyM8dfU3coJJk*Xm#>P#o@}!vcZBBpGVqwmX~s;5B07kX4d%j?}E6LF(t5r zsN)*4X8fY#s6O^U1pHV`yFU4N7n?%YAmT6=jX|8@5`_`@|_zx0sc;n~cOB%lz++jLvPs(M_Gb7`hvZ?bmhzCr zb`Z&s$_ekeJJ`>4Kk?Sk175g#E|fnaE_z-)MgVjZOP!x zo+4L(0Z3x-zpr(R9{0Q9EC?&nqFD4J6zfP)lBtOa>$@qI*$?b=chB(&r%avl9H$BQ z&o{>v_kh1pRS9KizlvD@c&2&S^bVJfJQF~MOM_39)ZJR0K%lt#A;mq?c25&81lJ;lrdrBb?*vYxSW8!{92U_z^{hD1r| z0c4%OM_jZ8fY-x#gG!Do5VzK>+b);$g;1_JG@y5w!wvhJ&;urUn|YGD+Je)Zx}^at zl<HA z^@k;W?bfFyozR`Ou&^-bH62eHul-qQcAlu#%@bFaC%@5eJNyzs^T`9*nE*lEv;99m zq{B8jM)-!a(5OsD`ezy`*}3ve(AfjM4GQ0rE8ySrqaNo@PJGJSuR%|2fL;A?H4nq6 z@@LVyub!r*%&H=aXT1BfY8p}Pw%EV7MOfewg862aoGNTJtsNFw7(`^9nmu&dBH(aJ ztP107?`7dI`4|$?=w8wk1U^3^e(V>)^rvm?39{iIyt3Qdh*n>0$qEXW+)Ear(XGRVXpwKaS!{9*WVK`Yne*~8lr zLI9#6#Q19-cmU63 zFy+2WQF&jQKK|v>833=YE;=Aw2Fo0XSlfz3X)fgbt4fXIjJc(VX6dBd% z{kWerdHhmtU_tDCf=8{J9YH)25m9(E^sc!mssb&YUVt6VMa*Y^+PG z%<}FshQ?6r=YvY7{sp& z;sB6Vw|<5occ4@(@Fp(Vn+xs_a!Dp_+HLISgA^0afg=?avO0{{z2Bbdb?CUY&`_M~c}c zeXm>OHwHWUVTI-N{Y{{Y{Q;h~(>cVzh{s`|2QX-lA^nlTjBsZ0gzy&dSA@b5;iW7B ziY?a8$4tsFs9{^PihPS)FIOUe3Si$IaxMhv&>!mbI{n^$teST1UO!)64i1fOUt4Ju zeRqe7+JKnqF3^8#)z$MwVzB@A!wCm|Z~v9s_^IQJ{iU~OVQ!uW9R#3QCRxLJ6k}^i z{e3(*!>#OA7Vq}*LW3hFyRIGRLbF>1k)MB?qGP0GYHBJeB-Ah9XbDgGQ*8Wya)m#J cjD3SH Date: Wed, 4 Sep 2024 20:09:39 -0400 Subject: [PATCH 103/103] v1.1.0 Official Addon --- system.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system.json b/system.json index c183e34..f104abe 100644 --- a/system.json +++ b/system.json @@ -20,7 +20,7 @@ "thumbnail": "systems/cain/assets/cain.png" } ], - "version": "1.0.20", + "version": "1.1.0", "compatibility": { "minimum": 11, "verified": "12"