Skip to content

Commit 540b0fe

Browse files
committed
11.10 changes
1 parent ef7b0d7 commit 540b0fe

10 files changed

+85
-49
lines changed

CHANGELOG.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
# Version 11.10
2+
3+
Updated the objectives display to allow full resizing
4+
5+
Changed the available icon to make it clearer what it meant
6+
7+
Updated the error message when converting from a journal with multiple pages to a MEJ page that only needs one, to make it clearer that data is about to be deleted.
8+
9+
Fixed issues that the latest D&D5e updates introduced.
10+
11+
Fixed issue with changing the visiblity of a reward causing player to try and save the journal
12+
13+
Fixed issues with players not able to switch between rewards
14+
15+
Fixed issues that D&D 5e introduced when trying to edit items in Shops
16+
17+
Fixed issues that D&D 5e introduced when droppng an item on a Character sheet.
18+
19+
Fixed issue where updating a journal entry that a player had previously viewed was causing ti to open up again.
20+
21+
Fixed issue with saving items in a quest not finding the correct items to update
22+
123
# Version 11.09
224

325
Fixed issue where the header buttons wouldn't refresh when changing between MEJ pages and Foundry pages.

apps/objective-display.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export class ObjectiveDisplay extends Application {
1313
title: i18n("MonksEnhancedJournal.Quests"),
1414
template: "modules/monks-enhanced-journal/templates/objective-display.html",
1515
width: pos?.width || 500,
16-
height: "auto",
16+
height: pos?.height || 300,
1717
top: pos?.top || 75,
1818
left: pos?.left || 120,
1919
resizable: true
@@ -23,7 +23,7 @@ export class ObjectiveDisplay extends Application {
2323
getData(options) {
2424
let icons = {
2525
inactive: "fa-ban",
26-
available: "fa-circle-plus",
26+
available: "fa-file-circle-plus",
2727
inprogress: "fa-circle-exclamation",
2828
completed: "fa-check",
2929
failed: "fa-xmark"

css/monks-journal-sheet.css

-9
Original file line numberDiff line numberDiff line change
@@ -2020,7 +2020,6 @@ body:not(.system-pf2e) .monks-journal-sheet .sheet-container .tag {
20202020
}
20212021
/* Objective */
20222022
#objective-display {
2023-
display: none;
20242023
background: var(--mej-objective-background);
20252024
border: 1px solid var(--mej-objective-border);
20262025
padding: 6px 8px;
@@ -2033,14 +2032,6 @@ body:not(.system-pf2e) .monks-journal-sheet .sheet-container .tag {
20332032
padding: 0px;
20342033
}
20352034

2036-
#objective-display.active {
2037-
display: inline-block;
2038-
}
2039-
2040-
#objective-display:empty {
2041-
display: none;
2042-
}
2043-
20442035
#objective-display header {
20452036
font-size: 16px;
20462037
border-radius: 4px;

module.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"title": "Monk's Enhanced Journal",
33
"description": "Treat the journal like it's going to be popped out and used as a digital guide book. Add extra information to summarize an encounter. Show summaries of people and places. Allow for bookmarking of commonly used pages",
4-
"version": "11.09",
4+
"version": "11.10",
55
"authors": [
66
{
77
"name": "IronMonk",
@@ -95,7 +95,7 @@
9595
"css/apsjournal.css"
9696
],
9797
"url": "https://github.com/ironmonk88/monks-enhanced-journal",
98-
"download": "https://github.com/ironmonk88/monks-enhanced-journal/archive/11.09.zip",
98+
"download": "https://github.com/ironmonk88/monks-enhanced-journal/archive/11.10.zip",
9999
"manifest": "https://github.com/ironmonk88/monks-enhanced-journal/releases/latest/download/module.json",
100100
"bugs": "https://github.com/ironmonk88/monks-enhanced-journal/issues",
101101
"allowBugReporter": true,

monks-enhanced-journal.js

+7-9
Original file line numberDiff line numberDiff line change
@@ -1518,7 +1518,7 @@ export class MonksEnhancedJournal {
15181518
if (journal.pages.size > 1) {
15191519
isGood = await Dialog.confirm({
15201520
title: "Confirm Page Deletion",
1521-
content: "This Journal has more than one page. Monk's Enhanced Journal only uses one page, so the additional pages will be deleted and cannot be recovered. <br><br>Are you sure you wish to continue?"
1521+
content: `<div class="flexrow"><div style="padding: 10px;padding-right: 20px;font-size:40px; color: #ffc107; flex-grow: 0"><i class="fas fa-exclamation-triangle"></i></div><div>This Journal has more than one page. Monk's Enhanced Journal only uses one page, so the additional pages will be deleted and cannot be recovered.</div></div> <br><div style="text-align: center;padding-bottom: 10px;">Are you <b>sure</b> you wish to continue?</div></br>`
15221522
});
15231523
}
15241524

@@ -2720,7 +2720,7 @@ export class MonksEnhancedJournal {
27202720
}
27212721

27222722
static onMessage(data) {
2723-
log('message', data);
2723+
//log('message', data);
27242724
MonksEnhancedJournal[data.action].call(MonksEnhancedJournal, data);
27252725
}
27262726

@@ -3574,7 +3574,7 @@ export class MonksEnhancedJournal {
35743574
if (!data.consumable) {
35753575
let sheet = actor.sheet;
35763576
if (sheet._onDropItem)
3577-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${entry.uuid}.Items.${item._id}`, data: itemData });
3577+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${entry.uuid}.Items.${item._id}`, data: itemData });
35783578
else
35793579
actor.createEmbeddedDocuments("Item", [itemData]);
35803580
}
@@ -4009,9 +4009,7 @@ export class MonksEnhancedJournal {
40094009
}
40104010

40114011
let rewards = MonksEnhancedJournal.journal.subsheet.convertRewards();
4012-
MonksEnhancedJournal.journal.object.flags['monks-enhanced-journal'].reward = rewards[0].id;
40134012
MonksEnhancedJournal.journal.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
4014-
MonksEnhancedJournal.journal.object.setFlag('monks-enhanced-journal', 'reward', rewards[0].id);
40154013
MonksEnhancedJournal.journal.render(true);
40164014
}
40174015
}
@@ -4194,7 +4192,7 @@ export class MonksEnhancedJournal {
41944192

41954193
Hooks.on("renderJournalDirectory", async (app, html, options) => {
41964194
//add journal indicators
4197-
log('rendering journal directory', app, html, options);
4195+
//log('rendering journal directory', app, html, options);
41984196
if (MonksEnhancedJournal.journal) {
41994197
let jdir = await MonksEnhancedJournal.journal.renderDirectory();
42004198
MonksEnhancedJournal.updateDirectory(jdir, false);
@@ -4332,7 +4330,7 @@ Hooks.on("updateJournalEntryPage", (document, data, options, userId) => {
43324330
renderUpdate ||
43334331
getProperty(data, "flags.core.sheetClass") != undefined)
43344332
{
4335-
if (document._sheet)
4333+
if (document._sheet && document._sheet.rendered)
43364334
document._sheet.render(true, { reload: true });
43374335
}
43384336
}
@@ -4369,7 +4367,7 @@ Hooks.on('dropActorSheetData', (actor, sheet, data) => {
43694367
setPrice(data.data, pricename(), result.price);
43704368
data.uuid = `${data.uuid}${data.rewardId ? `.Rewards.${data.rewardId}` : ""}.Items.${data.itemId}`;
43714369
if (sheet._onDropItem && game.system.id != "cyphersystem")
4372-
sheet._onDropItem({ preventDefault: () => { } }, data);
4370+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, data);
43734371
else
43744372
actor.createEmbeddedDocuments("Item", [data.data]);
43754373
}
@@ -4396,7 +4394,7 @@ Hooks.on('dropJournalSheetData', (journal, sheet, data) => {
43964394
let itemQty = getValue(data.data, quantityname());
43974395
setValue(data.data, quantityname(), result.quantity * itemQty);
43984396
data.uuid = `${data.uuid}.Items.${data.itemId}`;
4399-
sheet._onDropItem({ preventDefault: () => { } }, data);
4397+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, data);
44004398
}
44014399
});
44024400
}

sheets/EnhancedJournalSheet.js

+30-4
Original file line numberDiff line numberDiff line change
@@ -1241,7 +1241,7 @@ export class EnhancedJournalSheet extends JournalPageSheet {
12411241
for (let item of items) {
12421242
if (!item)
12431243
continue;
1244-
if (item.data && !item.system)
1244+
if (!item.system && item.data)
12451245
item = item.data;
12461246
let requests = (Object.entries(getProperty(item, "flags.monks-enhanced-journal.requests") || {})).map(([k, v]) => {
12471247
if (!v)
@@ -1641,7 +1641,7 @@ export class EnhancedJournalSheet extends JournalPageSheet {
16411641
let id = $(event.currentTarget).closest('li').attr('data-id');
16421642
let items = (this.object.getFlag('monks-enhanced-journal', 'items') || []);
16431643

1644-
if (this.type == "quest") {
1644+
if (this.object?.type == "quest") {
16451645
let rewards = this.getRewardData();
16461646
if (rewards.length) {
16471647
let reward = this.getReward(rewards);
@@ -1706,14 +1706,37 @@ export class EnhancedJournalSheet extends JournalPageSheet {
17061706
}
17071707
}
17081708

1709+
if (game.system.id == "dnd5e") {
1710+
if (hasProperty(formData, "system.properties")) {
1711+
formData.system.properties = new Set(formData.system.properties);
1712+
}
1713+
}
1714+
17091715
let items = duplicate(this.object.getFlag('monks-enhanced-journal', 'items') || []);
1716+
if (this.object?.type == "quest") {
1717+
let rewards = this.getRewardData();
1718+
if (rewards.length) {
1719+
let reward = this.getReward(rewards);
1720+
items = reward.items;
1721+
}
1722+
}
1723+
17101724
let itm = items.find(i => i._id == itemData._id);
17111725
if (itm) {
17121726
itm = mergeObject(itm, formData);
17131727
//let sysPrice = MEJHelpers.getSystemPrice(itm, pricename());
17141728
//let price = MEJHelpers.getPrice(sysPrice);
17151729
//setProperty(itm, "flags.monks-enhanced-journal.price", `${price.value} ${price.currency}`);
1716-
await this.object.setFlag('monks-enhanced-journal', 'items', items);
1730+
if (this.object?.type == "quest") {
1731+
let rewards = this.getRewardData();
1732+
if (rewards.length) {
1733+
let reward = this.getReward(rewards);
1734+
reward.items = items;
1735+
await this.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
1736+
}
1737+
} else {
1738+
await this.object.setFlag('monks-enhanced-journal', 'items', items);
1739+
}
17171740
}
17181741

17191742
mergeObject(sheet.object, formData);
@@ -1728,6 +1751,9 @@ export class EnhancedJournalSheet extends JournalPageSheet {
17281751
sheet._submitting = false;
17291752
if (preventRender) sheet._state = priorState;
17301753
if (closeForm) await sheet.close({ submit: false, force: true });
1754+
1755+
if (!closeForm)
1756+
sheet.bringToTop();
17311757
}
17321758

17331759
sheet._onSubmit = newSubmit.bind(sheet);
@@ -2641,7 +2667,7 @@ export class EnhancedJournalSheet extends JournalPageSheet {
26412667
setValue(itemData, quantityname(), item.qty * itemQty);
26422668
let sheet = destActor.sheet;
26432669
if (sheet._onDropItem)
2644-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item.item._id}`, data: itemData });
2670+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item.item._id}`, data: itemData });
26452671
else
26462672
destActor.createEmbeddedDocuments("Item", [itemData]);
26472673
}

sheets/ListSheet.js

+3
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,9 @@ export class ListSheet extends EnhancedJournalSheet {
687687
document.apps = [];
688688
document.uuid = document.id;
689689
document.isOwner = game.user.isGM;
690+
document.getFlag = function (module, key) {
691+
return;
692+
}
690693
let docOwnership = new DocumentOwnershipConfig(document, {
691694
top: Math.min(li[0].offsetTop, window.innerHeight - 350),
692695
left: window.innerWidth - 720

sheets/LootSheet.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ export class LootSheet extends EnhancedJournalSheet {
281281
setValue(itemData, quantityname(), result.quantity * itemQty);
282282
let sheet = actor.sheet;
283283
if (sheet._onDropItem)
284-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
284+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
285285
else
286286
actor.createEmbeddedDocuments("Item", [itemData]);
287287

@@ -457,7 +457,7 @@ export class LootSheet extends EnhancedJournalSheet {
457457
setValue(itemData, quantityname(), result.quantity * itemQty);
458458
let sheet = actor.sheet;
459459
if (sheet._onDropItem)
460-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
460+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
461461
else
462462
actor.createEmbeddedDocuments("Item", [itemData]);
463463

@@ -508,7 +508,7 @@ export class LootSheet extends EnhancedJournalSheet {
508508
setValue(itemData, quantityname(), result.quantity * itemQty);
509509
let sheet = actor.sheet;
510510
if (sheet._onDropItem)
511-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
511+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
512512
else
513513
actor.createEmbeddedDocuments("Item", [itemData]);
514514

sheets/QuestSheet.js

+15-19
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,12 @@ export class QuestSheet extends EnhancedJournalSheet {
9494
(this.object.flags["monks-enhanced-journal"].items != undefined ||
9595
this.object.flags["monks-enhanced-journal"].xp != undefined ||
9696
this.object.flags["monks-enhanced-journal"].additional != undefined)) {
97-
98-
rewards = this.convertRewards();
99-
this.object.flags['monks-enhanced-journal'].reward = rewards[0].id;
100-
this.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
101-
this.object.setFlag('monks-enhanced-journal', 'reward', rewards[0].id);
97+
if (this.object.isOwner) {
98+
rewards = this.convertRewards();
99+
//this.object.flags['monks-enhanced-journal'].reward = rewards[0].id;
100+
this.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
101+
game.user.setFlag('monks-enhanced-journal', `reward${this.object.id}`, rewards[0].id);
102+
}
102103
} else {
103104
rewards = this.object.flags["monks-enhanced-journal"].rewards || [];
104105
rewards = rewards.map(reward => {
@@ -142,11 +143,11 @@ export class QuestSheet extends EnhancedJournalSheet {
142143
getReward(rewards) {
143144
if (!rewards)
144145
rewards = this.getRewardData();
145-
let id = this.object.getFlag('monks-enhanced-journal', 'reward') || 0;
146+
let id = game.user.getFlag('monks-enhanced-journal', `reward${this.object.id}`) || 0;
146147
let reward = rewards.find(r => r.id == id);
147148
if (reward == undefined && rewards.length > 0) {
148149
reward = rewards[0];
149-
this.object.setFlag('monks-enhanced-journal', 'reward', reward.id);
150+
game.user.setFlag('monks-enhanced-journal', `reward${this.object.id}`, reward.id);
150151
}
151152

152153
reward.groups = this.getItemGroups(
@@ -354,12 +355,8 @@ export class QuestSheet extends EnhancedJournalSheet {
354355
return;
355356
let id = (typeof event == 'string' ? event : $(event.currentTarget).closest('.reward-tab').data('rewardId'));
356357

357-
this.object.setFlag('monks-enhanced-journal', 'reward', id);
358-
let rewards = duplicate(this.getRewardData() || []);
359-
for (let reward of rewards) {
360-
reward.active = (reward.id == id);
361-
}
362-
this.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
358+
await game.user.setFlag('monks-enhanced-journal', `reward${this.object.id}`, id);
359+
this.render(true);
363360
}
364361

365362
async addReward() {
@@ -391,7 +388,7 @@ export class QuestSheet extends EnhancedJournalSheet {
391388
await this.object.setFlag('monks-enhanced-journal', 'rewards', rewards);
392389
//$('.reward-list .journal-tab[data-reward-id="' + id + '"]').remove();
393390

394-
if (id == this.object.getFlag('monks-enhanced-journal', 'reward')) {
391+
if (id == game.user.getFlag('monks-enhanced-journal', `reward${this.object.id}`)) {
395392
let newid = rewards[0]?.id;
396393
this.changeReward(newid);
397394
}
@@ -400,7 +397,7 @@ export class QuestSheet extends EnhancedJournalSheet {
400397
/*
401398
async loadRewards(id) {
402399
if (id == undefined)
403-
id = this.object.getFlag('monks-enhanced-journal', 'reward');
400+
id = game.user.getFlag('monks-enhanced-journal', `reward${this.object.id}`);
404401
405402
$('.reward-container', this.element).empty();
406403
@@ -410,7 +407,7 @@ export class QuestSheet extends EnhancedJournalSheet {
410407
reward = rewards[0];
411408
if (reward == undefined)
412409
return;
413-
await this.object.setFlag('monks-enhanced-journal', 'reward', reward.id);
410+
await game.user.setFlag('monks-enhanced-journal', `reward${this.object.id}`, reward.id);
414411
}
415412
let template = "modules/monks-enhanced-journal/templates/reward.html";
416413
@@ -441,7 +438,7 @@ export class QuestSheet extends EnhancedJournalSheet {
441438
async deleteItem(id, container) {
442439
if (container == 'items') {
443440
let rewards = duplicate(this.object.flags["monks-enhanced-journal"].rewards);
444-
let reward = rewards.find(r => r.id == this.object.flags["monks-enhanced-journal"].reward);
441+
let reward = rewards.find(r => r.id == game.user.getFlag("monks-enhanced-journal", `reward${this.object.id}`));
445442
reward.items.findSplice(i => i.id == id || i._id == id);
446443
this.object.setFlag('monks-enhanced-journal', "rewards", rewards);
447444
} else
@@ -557,7 +554,7 @@ export class QuestSheet extends EnhancedJournalSheet {
557554
let item = await this.getDocument(data);
558555

559556
if (item) {
560-
let id = this.object.getFlag('monks-enhanced-journal', 'reward');
557+
let id = game.user.getFlag('monks-enhanced-journal', `reward${this.object.id}`);
561558

562559
let itemData = item.toObject();
563560
if ((itemData.type === "spell") && game.system.id == 'dnd5e') {
@@ -690,7 +687,6 @@ export class QuestSheet extends EnhancedJournalSheet {
690687
});
691688
}
692689
},
693-
,
694690
{
695691
name: i18n("MonksEnhancedJournal.OpenActorSheet"),
696692
icon: '<i class="fas fa-user fa-fw"></i>',

sheets/ShopSheet.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ export class ShopSheet extends EnhancedJournalSheet {
617617
if (!data.consumable) {
618618
let sheet = actor.sheet;
619619
if (sheet._onDropItem)
620-
sheet._onDropItem({ preventDefault: () => { } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
620+
sheet._onDropItem({ preventDefault: () => { }, target: { closest: () => { } } }, { type: "Item", uuid: `${this.object.uuid}.Items.${item._id}`, data: itemData });
621621
else
622622
actor.createEmbeddedDocuments("Item", [itemData]);
623623
}

0 commit comments

Comments
 (0)