Skip to content

Commit

Permalink
Updates for v12
Browse files Browse the repository at this point in the history
  • Loading branch information
Cornell Daly committed Jun 19, 2024
1 parent 5fd9dbe commit cdb1118
Show file tree
Hide file tree
Showing 14 changed files with 108 additions and 78 deletions.
2 changes: 1 addition & 1 deletion scripts/applications/EssenceDialog.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default class EssenceDialog extends Application {
}

static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
id: 'essence-dialog',
title: 'Essence',
template: 'systems/lumen/templates/applications/essence-dialog.hbs',
Expand Down
2 changes: 1 addition & 1 deletion scripts/sheets/LumenCharacterSheet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import Editor from '../helpers/editor.mjs'

export default class LumenCharacterSheet extends ActorSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
template: `systems/lumen/templates/sheets/character-sheet.hbs`,
classes: [ LumenSystem.SYSTEM, 'sheet', 'character' ]
});
Expand Down
2 changes: 1 addition & 1 deletion scripts/sheets/LumenEnemySheet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Editor from '../helpers/editor.mjs'

export default class LumenEnemySheet extends ActorSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
template: `systems/lumen/templates/sheets/enemy-sheet.hbs`,
classes: [ LumenSystem.SYSTEM, 'sheet', 'enemy' ]
});
Expand Down
5 changes: 2 additions & 3 deletions scripts/sheets/LumenHeroSheet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import Editor from '../helpers/editor.mjs'

export default class LumenHeroSheet extends ActorSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
template: `systems/lumen/templates/sheets/hero-sheet.hbs`,
classes: [ LumenSystem.SYSTEM, 'sheet', 'hero' ]
});
Expand Down Expand Up @@ -78,8 +78,7 @@ export default class LumenHeroSheet extends ActorSheet {
const { actor } = this

const performRoll = async (dieCount, approach) => {
const result = await new Roll(`${dieCount}d6kh`, {})
.evaluate({ 'async': true })
const result = await (new Roll(`${dieCount}d6kh`, {}).evaluate())
const { terms, total } = result
const dice = terms[0].results

Expand Down
102 changes: 51 additions & 51 deletions scripts/sheets/LumenItemSheet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ import { LumenSystem } from '../LumenSystem.mjs'

export default class LumenItemSheet extends ItemSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
classes: [ LumenSystem.SYSTEM, 'sheet', 'item' ]
return foundry.utils.mergeObject(super.defaultOptions, {
classes: [LumenSystem.SYSTEM, 'sheet', 'item']
});
}

get template() {
return `systems/lumen/templates/sheets/${this.document.type}-sheet.hbs`;
}

async getData() {
const data = super.getData()

data.config = CONFIG.lumen

const { item } = this
Expand All @@ -22,16 +22,16 @@ export default class LumenItemSheet extends ItemSheet {
if (tags) {
data.data.system.tags = game.items.filter(gi => tags.includes(gi.id))
}

return data
}

activateListeners(html) {
super.activateListeners(html)

const { item } = this
const { tags } = item.system

if (tags) {
html
.find('.tag-badge')
Expand All @@ -41,56 +41,56 @@ export default class LumenItemSheet extends ItemSheet {
const el = evt.currentTarget
const tagId = el.dataset.id
const tagItem = game.items.find(gi => gi.id === tagId)

if (tagItem) {
tagItem.sheet.render(true)
}
})
}

html
.find('.add-tag')
.click(async (evt) => {
evt.preventDefault()
html
.find('.add-tag')
.click(async (evt) => {
evt.preventDefault()

const gameTags = game.items.filter(gi => gi.type === 'tag')
Dialog.prompt({
title: 'Tag Editor',
content: await renderTemplate(
'systems/lumen/templates/partials/tag-editor.hbs',
{
itemId: item._id,
itemTags: tags,
gameTags
}
),
render: html => {
html
.find('.tag-badge')
.click(async (evt) => {
evt.preventDefault()

const el = evt.currentTarget
const tagId = el.dataset.id
const hasTag = el.dataset.has === 'true'

const existingTags = item.system.tags
if (hasTag) {
el.dataset.has = 'false'
el.classList.remove('c-badge--success')

existingTags.splice(existingTags.findIndex(t => t.id === tagId), 1)
} else {
el.dataset.has = 'true'
el.classList.add('c-badge--success')

existingTags.push(tagId)
}

await item.update({ 'system.tags': existingTags })
})
const gameTags = game.items.filter(gi => gi.type === 'tag')
Dialog.prompt({
title: 'Tag Editor',
content: await renderTemplate(
'systems/lumen/templates/partials/tag-editor.hbs',
{
itemId: item._id,
itemTags: tags ?? [],
gameTags
}
})
),
render: html => {
html
.find('.tag-badge')
.click(async (evt) => {
evt.preventDefault()

const el = evt.currentTarget
const tagId = el.dataset.id
const hasTag = el.dataset.has === 'true'

const existingTags = item.system.tags ?? []
if (hasTag) {
el.dataset.has = 'false'
el.classList.remove('c-badge--success')

existingTags.splice(existingTags.findIndex(t => t.id === tagId), 1)
} else {
el.dataset.has = 'true'
el.classList.add('c-badge--success')

existingTags.push(tagId)
}

await item.update({ 'system.tags': existingTags })
})
}
})
}
})
}
}
25 changes: 25 additions & 0 deletions styles/module.css
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,30 @@ input.align-right {
flex: 0;
}

.tag-badge {
position: relative;
}

.tag-badge:hover {
cursor: pointer;
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}

.tag-badge:hover::after {
content: " ";

position: absolute;
top: -1px;
left: -1px;

width: calc(100% + 2px);
height: calc(100% + 2px);

border-radius: 5px;
background: rgb(7, 91, 151);
opacity: 0.4;
}

.essence-dialog {
position: absolute;
z-index: calc(var(--z-index-canvas) + 1);
Expand Down Expand Up @@ -293,3 +317,4 @@ input.align-right {
background: white;
color: black;
}

14 changes: 10 additions & 4 deletions system.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"description": "Basic implementation of the LUMEN game system by Spencer Campbell.",
"version": "#{VERSION}#",
"compatibility": {
"minimum": 10,
"verified": 11,
"minimum": 12,
"verified": 12,
"maximum": 12
},
"authors": [
Expand Down Expand Up @@ -41,17 +41,23 @@
{
"id": "lib-wrapper",
"type": "module"
},
{
"id": "lumen-socket",
"type": "module"
}
]
},
"grid": {
"distance": 5,
"units": "ft"
},
"url": "#{URL}#",
"manifest": "#{MANIFEST}#",
"download": "#{DOWNLOAD}#",
"socket": true,
"license": "LICENSE",
"readme": "README.md",
"gridDistance": 5,
"gridUnits": "ft",
"primaryTokenAttribute": "resources.health",
"secondaryTokenAttribute": "resources.energy"
}
2 changes: 1 addition & 1 deletion templates/partials/attack-editor.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<div class="o-grid o-grid--wrap mb-2">
{{#each attacks.tags as |tag|}}
<div class="o-grid__cell">
<div class="c-badge u-large">{{tag.name}}</div>
<div class="tag-badge c-badge u-large" data-id="{{tag.id}}">{{tag.name}}</div>
</div>
{{/each}}
</div>
Expand Down
6 changes: 3 additions & 3 deletions templates/partials/tag-editor.hbs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<div class="o-grid o-grid--wrap mt-2 mb-4">
<div class="tag-editor o-grid o-grid--wrap mt-2 mb-4">
{{#each gameTags as |tag|}}
<div class="o-grid__cell">
{{#if (contains ../itemTags tag._id)}}
{{#if (contains ../itemTags tag.id)}}
<div class="tag-badge c-badge u-large c-badge--success" data-id="{{tag._id}}" data-has="true">{{tag.name}}</div>
{{^}}
<div class="tag-badge c-badge u-large" data-id="{{tag._id}}" data-has="false">{{tag.name}}</div>
<div class="tag-badge c-badge u-large" data-id="{{tag.id}}" data-has="false">{{tag.name}}</div>
{{/if}}
</span>
{{/each}}
Expand Down
4 changes: 2 additions & 2 deletions templates/sheets/enemy-sheet.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,13 @@
<div class="c-card__body">
<div class="o-grid {{#unless (empty attack.tags)}}pb-3{{/unless}}">
<div class="o-grid__cell align-left">
<span class="c-tooltip c-tooltip--bottom" aria-label="Harm">
<span class="c-tooltip c-tooltip--right" aria-label="Harm">
<i class="fa-solid fa-sword"></i><span class="pl-1"> {{attack.harm}}</span>
</span>
</div>

<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Range">
<span class="c-tooltip c-tooltip--right" aria-label="Range">
{{#if attack.range.near}}
<span class="c-badge c-badge--info">Near</span>
{{/if}}
Expand Down
2 changes: 1 addition & 1 deletion templates/sheets/gear-sheet.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<div class="o-grid o-grid--wrap mb-2">
{{#each data.system.tags as |tag|}}
<div class="o-grid__cell">
<div class="c-badge u-large">{{tag.name}}</div>
<div class="tag-badge c-badge u-large" data-id="{{tag.id}}">{{tag.name}}</div>
</div>
{{/each}}
</div>
Expand Down
16 changes: 8 additions & 8 deletions templates/sheets/hero-sheet.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -246,11 +246,11 @@
<div class="o-grid">
<div class="o-grid__cell align-left">
{{#if power.system.passive}}
<span class="u-text--quiet c-tooltip c-tooltip--bottom" aria-label="Passive">
<span class="u-text--quiet c-tooltip c-tooltip--right" aria-label="Passive">
<i class="fa-solid fa-moon pr-1"></i>
</span>
{{^}}
<span class="u-text--quiet c-tooltip c-tooltip--bottom" aria-label="Active">
<span class="u-text--quiet c-tooltip c-tooltip--right" aria-label="Active">
<i class="fa-solid fa-sun pr-1"></i>
</span>
{{/if}}
Expand Down Expand Up @@ -331,25 +331,25 @@
<div class="c-card__body">
<div class="o-grid pb-3">
<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Quantity">
<span class="c-tooltip c-tooltip--right" aria-label="Quantity">
<i class="fa-solid fa-hashtag"></i><span> {{weapon.system.quantity}}</span>
</span>
</div>

<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Value">
<span class="c-tooltip c-tooltip--right" aria-label="Value">
<i class="fa-solid fa-coins"></i><span class="pl-1"> {{weapon.system.value}}</span>
</span>
</div>

<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Harm">
<span class="c-tooltip c-tooltip--left" aria-label="Harm">
<i class="fa-solid fa-sword"></i><span class="pl-1"> {{weapon.system.harm}}</span>
</span>
</div>

<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Range">
<span class="c-tooltip c-tooltip--left" aria-label="Range">
{{#if weapon.system.range.near}}
<span class="c-badge c-badge--info">Near</span>
{{/if}}
Expand Down Expand Up @@ -409,13 +409,13 @@
<div class="c-card__body">
<div class="o-grid pb-2">
<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Quantity">
<span class="c-tooltip c-tooltip--right" aria-label="Quantity">
<i class="fa-solid fa-hashtag"></i><span> {{gear.system.quantity}}</span>
</span>
</div>

<div class="o-grid__cell align-center">
<span class="c-tooltip c-tooltip--bottom" aria-label="Value">
<span class="c-tooltip c-tooltip--right" aria-label="Value">
<i class="fa-solid fa-coins"></i><span class="pl-1"> {{gear.system.value}}</span>
</span>
</div>
Expand Down
2 changes: 1 addition & 1 deletion templates/sheets/power-sheet.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<div class="o-grid o-grid--wrap mb-2">
{{#each data.system.tags as |tag|}}
<div class="o-grid__cell">
<div class="c-badge u-large">{{tag.name}}</div>
<div class="tag-badge c-badge u-large" data-id="{{tag.id}}">{{tag.name}}</div>
</div>
{{/each}}
</div>
Expand Down
2 changes: 1 addition & 1 deletion templates/sheets/weapon-sheet.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
<div class="o-grid o-grid--wrap mb-2">
{{#each data.system.tags as |tag|}}
<div class="o-grid__cell">
<div class="c-badge u-large">{{tag.name}}</div>
<div class="tag-badge c-badge u-large" data-id="{{tag.id}}">{{tag.name}}</div>
</div>
{{/each}}
</div>
Expand Down

0 comments on commit cdb1118

Please sign in to comment.